使用javascript将文件下载为a.csv文件 [英] Using javascript to download file as a.csv file

查看:204
本文介绍了使用javascript将文件下载为a.csv文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好我尝试将文件导出为.csv文件,以便当用户点击下载按钮时,浏览器会自动将文件下载为.csv。
我也想为要导出的.csv文件设置一个名称

Hi I am trying to export a file as .csv file, so that when the user clicks on the download button, the browser would automatically download the file as .csv. I also want to be able to set a name for the .csv file to be exported

我使用javascript来执行此操作

I am using javascript to do this

代码如下:

 function ConvertToCSV(objArray) {
            var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;
            var str = '';

            for (var i = 0; i < array.length; i++) {
                var line = '';
            for (var index in array[i]) {
                if (line != '') line += ','

                line += array[i][index];
            }

            str += line + '\r\n';
        }

        return str;
    }

    // Example
    $(document).ready(function () {

        // Create Object
        var items = [
              { "name": "Item 1", "color": "Green", "size": "X-Large" },
              { "name": "Item 2", "color": "Green", "size": "X-Large" },
              { "name": "Item 3", "color": "Green", "size": "X-Large" }];

        // Convert Object to JSON
        var jsonObject = JSON.stringify(items);

        // Display JSON
        $('#json').text(jsonObject);

        // Convert JSON to CSV & Display CSV
        $('#csv').text(ConvertToCSV(jsonObject));

        $("#download").click(function() {
            alert("2");
            var csv = ConvertToCSV(jsonObject);
            window.open("data:text/csv;charset=utf-8," + escape(csv))
            ///////


        });

    });

请指教这
我的老板在这个问题上呼吸我的脖子

Please advise on this My Boss is breathing down my neck on this issue

请在现代浏览器中帮助

推荐答案

下载

http://caniuse.com/download

,而不是使用

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

创建下载链接:

<a href="data:text/csv;charset=utf-8,'+escape(csv)+'" download="filename.csv">download</a>

另一个解决方案是使用php

another solution is to use php

EDIT

我不使用jQuery,但您需要编辑您的代码以添加下载链接

i don't use jQuery, but you need to edit your code to add the download link with something like that in your function.

var csv=ConvertToCSV(jsonObject),
a=document.createElement('a');
a.textContent='download';
a.download="myFileName.csv";
a.href='data:text/csv;charset=utf-8,'+escape(csv);
document.body.appendChild(a);

这篇关于使用javascript将文件下载为a.csv文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆