2015-10-13 2 views
0

У меня есть действительно большой файл Excel с первой строкой, вторая строка с заголовками и остальными строками, содержащими данные.Excel - удалите первую пустую строку

Мне нужно выбрать только часть данных из этого файла.

Поскольку это должно быть сделано на стороне клиента в 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»? Использование диапазона 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

 Смежные вопросы

  • Нет связанных вопросов^_^