2015-10-13 98 views
0

我有一个非常大的ex​​cel文件,第一行空白,第二行标题和其余行包含数据。Excel - 删除第一个空行

我需要只从该文件中选择部分数据。

因为它应该在JavaScript的客户端完成我决定使用AlaSql库(alasql.org),在那里我可以用sql语言精确选择我需要的数据。

铁:首先我计算行数比使用范围内选择一些数据(与标题):

var sql = "SELECT value COUNT(*) FROM FILE(?,{headers:true})"; //count rows 
alasql(sql,[event],function(numberofrows){ 
var sql2 = "select column1, column2 from FILE(?, headers:true,range:'A2:Z"+numberofrowss"'})"; 
//I need only two columns I can use here where/having/limit etc. conditions 
alasql(sql2,[event],function(res){ 
... // other steps 
}} 

有没有做的工作(不计首行)更有效的方法是什么? 也许它可以使用类似于'A2:ZZ'定义的范围吗? 使用范围A2:A10000000消耗所有内存...

有什么建议吗?其他图书馆?也许有办法先删除空白行?

回答

0

您是否尝试导入没有范围的数据?

像你描述和LIB文件的例子,并得到正确的结果

我以前从未见过这个库(现谢谢),只是使用的实例文件数据:

alasql('SELECT header1, header2 FROM XLS("https://dl.dropboxusercontent.com/u/802266/a.xls",{headers:true})',[],function(data){ 
     console.log(data); 
    }); 

结果:

0: Object 
header1: "aaa1" 
header2: "aaa2" 
1: Object 
header1: "sss1" 
header2: "sss2" 
2: Object 
header1: "xxx1" 
header2: "xxx2" 

`工作示例:http://jsfiddle.net/xdfyxupL/

另外如果您仍然需要行数,您可以使用ROWNUM