簡體   English   中英

如何導出為CSV?

[英]How to export to CSV?

我希望能夠將對象下載為CSV文件。 我已將對象轉換為適合CSV的格式,但實際上無法下載它。 我努力了:

window.open("data:text/csv;charset=utf-8,"+ escape(csvObj));

但是我不斷獲取窗口並沒有被定義為錯誤,我的工作同事告訴我這是一種不好的方法。

這就是我到目前為止

'Export to CSV': function(msg, done){
 var array = [
    msg.data.title, 
    msg.data.description, 
    msg.data.objectives, 
    msg.data.outcome, 
    msg.data.hours
 ];
        var str = '';

        for(var i=0; i<array.length; i++){
            var line = '';

            for(var index in array[i]){
                line += array[i][index]+',';
            }
            line.slice(0,line.length-1);
            str += line+ '\r\n';
        }
        console.log('**************');
        console.log(str);

        var csvData="data:text/csv;charset=utf-8," + escape(str);
}

由於它是工作流的一部分,因此當用戶選擇“導出到csv”選項時,它將直接使用此功能,所以我真正想要做的就是立即下載csvData ...有關此操作的任何想法?

這是一個如何在Node.js中將文本數據作為CSV文件提供的最小示例:

// Load the HTTP module
var http = require('http');

// Create a server that will send some data as a CSV file
var server = http.createServer(function (request, response) {

    // Send the appropriate HTTP headers
    response.writeHead(200, {"Content-Type": "text/csv", 
        "Content-disposition": "attachment;filename=foobar.csv"});

    // Send the actual data
    response.end("Foo,42,xxx\nBar,43,yyy\nBaz,44,zzz");
});

// Listen on HTTP port 8000
server.listen(8000);

請注意, text/csv是CSV文件的標准MIME類型,但是如果您的客戶端使用舊版本的Internet Explorer,則可能不得不求助於非標准MIME類型,例如application/vnd.ms-excel 在服務器功能中,用戶代理字符串將位於request.headers['user-agent']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM