最近我开始使用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文件而言,这是有效的。
非常感谢您的帮助-谢谢
以下解决方案适用于Express
Express经过改进,不再设置附件和内容类型头,而是直接使用附件apihttp://expressjs.com/4x/api.html#res.attachment
注意:attachment()不传输文件,它只是在头中设置文件名。
response.attachment('testing.csv');
csv().from(data).to(response);
我是这样做的:
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);
Manish Kumar的答案非常准确-只是想包含一个Express 4语法变体来实现这一点:
function(req, res) {
var csv = GET_CSV_DATA // Not including for example.
res.setHeader('Content-disposition', 'attachment; filename=testing.csv');
res.set('Content-Type', 'text/csv');
res.status(200).send(csv);
}
问题内容: 最近,我开始使用node.js。在我的一个项目中完成一项需求时,我面临一个问题,即我应该能够动态地向csv文件中写入一些数据,并让它作为弹出窗口提示用户下载(使用保存和取消选项- 与我们通常一样)看到)。谷歌搜索一段时间后,我决定使用csv npm模块https://github.com/wdavidw/node-csv- parser 。我能够将数据写入文件并使用此模块保存。我想提示
请有人给我指个正确的方向。
我有一个csv格式的数据集。其中一个字段是“elem_type”。基于此类型,我需要创建不同的类型节点,并在使用csv load加载数据时,根据“elem_type”为csv的“列”赋予不同的名称,有什么方法可以做到这一点吗? 我的csv没有标头,数据如下所示: 基于第一个colmuns,即我的“elem_type”,我要加载数据并定义3种类型的节点(Person,Car,Boat)
我有一个csv格式的数据集。其中一个字段是类型,类似于枚举。基于此类型,我需要在使用csv LOAD加载数据时创建不同的类型、节点和关系。您可以在csv中调用具有定义子类型的属性的超级类型的行。 我真的不知道如何在Cypher中做到这一点。我唯一的选择是将一个csv文件拆分为每种类型的csv文件,并运行不同的密码吗?
如果我没弄错的话,树通常是一个列表,其中的元素按特定顺序排列。孩子们不在他们自己的子列表中,他们都在同一个列表中。 所以,我试图创建一个Tree类,其中包含TreeNodes(类)使用Tree类中的List。 我如何跟踪父母/孩子/叶子?如果父母“父母1”,有两个孩子“孩子A”和“孩子B”,我如何将他们联系在一起?
Text 节点的概念 文本节点(Text)代表元素节点(Element)和属性节点(Attribute)的文本内容。如果一个节点只包含一段文本,那么它就有一个文本子节点,代表该节点的文本内容。 通常我们使用父节点的firstChild、nextSibling等属性获取文本节点,或者使用Document节点的createTextNode方法创造一个文本节点。 // 获取文本节点 var textNo