在Node中的服务器上将XLS转换为CSV

我有一个客户端Web应用程序,用一个非常小的节点服务器来访问一些客户端无法访问的数据。 其中之一就是使用.xls扩展名的excel电子表格。

我试图让我的服务器设置为下载xls,将其转换为csv,然后将其发送回客户端。 我已经完成了下载部分,我确信我可以找出“送回”的部分,但我不能为我的生活find一个好的图书馆从xls转换为csv。

有人能指点我一个能以简单的方式做到这一点的图书馆吗? excel文件只是一张纸,没有复杂的工作簿或任何东西。

或者还有另一种做法,我没有想到?

没有我知道的库,但可以使用node-xlsx来parsingexcel文件,获取行并自行创buildCSV。 这是一个例子:

var xlsx = require('node-xlsx'); var fs = require('fs'); var obj = xlsx.parse(__dirname + '/test.xls'); // parses a file var rows = []; var writeStr = ""; //looping through all sheets for(var i = 0; i < obj.length; i++) { var sheet = obj[i]; //loop through all rows in the sheet for(var j = 0; j < sheet['data'].length; j++) { //add the row to the rows array rows.push(sheet['data'][j]); } } //creates the csv string to write it to a file for(var i = 0; i < rows.length; i++) { writeStr += rows[i].join(",") + "\n"; } //writes to a file, but you will presumably send the csv as a //response instead fs.writeFile(__dirname + "/test.csv", writeStr, function(err) { if(err) { return console.log(err); } console.log("test.csv was saved in the current directory!"); });