当前位置: 首页 > 面试题库 >

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

尉迟龙光
2023-03-14
问题内容

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

我正在尝试设置服务器以下载xls,将其转换为csv,然后将其发送回客户端。我已经完成了下载部分,而且我确定可以弄清楚“发回”部分,但是我终生无法找到一个很好的库来将xls转换为csv。

有人可以指出我要以一种简单的方式做到这一点的图书馆吗?excel文件只是一张纸,没有复杂的工作簿之类的东西。

还是我没有想到的另一种方法?


问题答案:

我没有知道的库,但是您可以使用node-xlsx解析excel文件,获取行并自己制作CSV。这是一个例子:

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!");
});


 类似资料:
  • 问题内容: 这里有人知道在Java中将csv文件转换为xls或xlsx文件的任何快速,干净的方法吗? 我已经有一些东西可以管理csv文件,并且我需要与其他程序具有额外的兼容性。 除了包名称外,示例代码始终受到人们的赞赏。 非常感谢, 贾斯汀 到目前为止,这是我的代码。我需要从行中删除返回值(“ \ n”)。我的某些单元格包含多行信息(一个列表),因此我可以在csv中使用“ \ n”来表示 单元格中

  • 问题内容: 有谁知道是否有可以让我将XLS最好转换为JSON的应用程序? 我还将为CSV转换程序做准备,因为如果周围什么都没有的话,我可能最终不得不写自己。 问题答案: 这对我来说效果很好,不需要上传文件: https://github.com/cparker15/csv-to- json?files=1

  • 本文向大家介绍Node做中转服务器转发接口,包括了Node做中转服务器转发接口的使用技巧和注意事项,需要的朋友参考一下 由于项目在做前后端分离,牵扯跨域和夸协议问题,临时抱佛脚,选择用nodejs做中转,我想应该好多人都用它。但是做普通的表单转发没啥问题,当处理附件上传转发时,各种蛋疼,已解决! 1.项目比较特殊,后台拥有两个平台,一个java一个donet,比较鸡肋,具体什么原因就不解释了。 2

  • 问题内容: 我已阅读以下有关通过GoogleDocs将UTF-8编码的(希伯来语)XLS转换为CSV的建议,并且可以正常工作。当我在Sublime2中使用utf8编码打开CSV时,希伯来语正确显示。但是,当我尝试使用SQLyog将数据导入到我的数据库中时,在确保将我的目标表和导入定义都设置为UTF8之后,我变得很乱,例如: ⒚椔 我哪里出问题了? 问题答案: 从excel导出到csv的最佳方法是:

  • 这里我有一个关于SQLServer和SYBASE的数据转换问题。 以71632.0638353154为例,如何在SQL Server和SYBASE中将其转换为71632.06? 我知道在SQL Server和SYBASE中有一个函数,但每次我试图用它转换那个数字时,数据库UI都会抛出一个异常。 我使用sybase UI执行以下SQL实例: 但这导致了这个错误: 结果空间不足,无法将货币值“7163

  • 问题内容: 谁能指导我如何使用PHP将XLS转换为CSV? 我有一个包含文档列表的Excel电子表格,我想使用PHP将其转换为CSV格式。 问题答案: 也许您可以开始使用PHP阅读XLS。 然后,使用主逻辑输出所需的内容(您的情况下为csv)。 祝好运,