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

提示要使用node.js和node-csv-parser(节点模块)弹出的CSV文件下载

冯庆
2023-03-14
问题内容

最近,我开始使用node.js。在我的一个项目中完成一项需求时,我面临一个问题,即我应该能够动态地向csv文件中写入一些数据,并让它作为弹出窗口提示用户下载(使用保存和取消选项-
与我们通常一样)看到)。谷歌搜索一段时间后,我决定使用csv npm模块https://github.com/wdavidw/node-csv-
parser
。我能够将数据写入文件并使用此模块保存。我想提示一个弹出窗口,用于选择是否保存该文件。

我的代码看起来像这样:

    // Sample Data 
    var data = [["id", "subject1", "subject2", "subject3"], ["jack", 85, 90, 68], ["sam", 77, 89, 69]]

    // Server Side Code    
    var csv = require('../../node_modules/csv');            
    var fs = require('fs');

    createCSV = function(data, callback) {
        csv().from(data).to(fs.createWriteStream('D:/test.csv')) // writing to a file           
    }

    // Client side call sample
    $("#exportToCSV").click(function() {
        callToServer.createCSV(data);
       return false;
    });

就编写csv文件而言,此方法工作良好。

  • 我想立即提示此文件以供用户下载。
  • 如果可以在不保存文件的情况下完成此操作,那就太好了。
  • 如何像在PHP中那样设置内容类型和内容处置

任何帮助是极大的赞赏。-谢谢


问题答案:

我做了这样的事情:

http.createServer(function(request, response) {
    response.setHeader('Content-disposition', 'attachment; filename=testing.csv');
    response.writeHead(200, {
        'Content-Type': 'text/csv'
    });

    csv().from(data).to(response)

})
.listen(3000);


 类似资料:
  • 最近我开始使用node。js。当我在我的一个项目中完成一个需求时,我面临一个问题,我应该能够将一些数据动态写入csv文件,并让它作为弹出窗口提示用户下载(如我们通常看到的,带有保存和取消选项)。在谷歌搜索了一段时间后,我决定使用csv npm模块https://github.com/wdavidw/node-csv-parser.我能够将数据写入文件并使用此模块进行保存。我想提示一个弹出窗口来保存

  • 问题内容: 我正在使用Python csv模块读取csv文件,每一行都像这样: 然后,我将row [0]转换为Unix时间,但是我想用刚为csv文件的每一行找到的Unix时间替换datetime 因此,我使用unixtime值创建了列表Y,但是接下来我该如何进行替换,以产生如下所示的输出: 问题答案: 每个只是一个。您可以就地对其进行修改,也可以使用要替换的值创建一个新列表: 如果要将其写回文件,

  • 示例CSV: 我试图只捕获特定的列,例如、、和。 我看到的代码使我相信我可以通过相应的编号调用特定的列,因此:将对应于,使用迭代每一行将产生第2列中的所有项。只是它没有。

  • 请有人给我指个正确的方向。

  • 问题内容: 我正在尝试为我的网站完成一个相当简单的任务,但是我不确定该如何去做。我希望用户查看表格,然后单击一个按钮,此时用户可以保存该表的内容作为csv文件。此请求有时可能非常复杂,因此我生成了一个进度页来提醒用户。 除了实际生成csv文件之外,我已经弄清了大多数东西。(我使用jQuery和PHP) jQuery代码在单击时运行: 相关的PHP: 这样做是将文本作为PHP文件发送,但不会生成下载

  • 问题内容: 我正在尝试解析一个csv文件,并仅从特定列中提取数据。 范例csv: 我想只捕获特定的列,说,,和。 我看过的代码使我相信我可以通过其对应的编号来调用特定的列,即:将对应于2并遍历每一行使用会产生列2中的所有项目。只有它不能。 到目前为止,这是我所做的: 并且我希望这只会打印出我想要的每一行的特定列,除非不是,我只会得到最后一列。 问题答案: 你会得到从这个代码的最后一列的唯一方法是,