Excel - 删除第一个空白行

时间:2015-10-13 23:40:34

标签: javascript excel alasql

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

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

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

Fe:首先我计算行数而不是使用范围选择一些数据(带标题):

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&#39 ;? 使用范围A2:A10000000消耗所有内存...

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

1 个答案:

答案 0 :(得分:0)

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

我以前从未见过这个库(现在谢谢你),只是使用了样本文件和你描述的数据以及lib docs中的例子,并得到了正确的结果:

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