使用java脚本导出到csv

时间:2015-08-19 15:40:31

标签: javascript jquery html csv

我在导出csv时遇到问题。

问题:

1)我必须将html表导出到csv文件。我可以将csv文件的分隔符更改为分号之类的其他内容。如果表格中的值在逗号分隔的同一列下,则会在csv表单中显示在不同的列中。

2)我的代码不适用于IE,它仅适用于mozilla

3)我还希望用户保存csv文件。现在它会自动保存。 请找我的代码。任何机构都可以帮助解决任何问题。

    function exportTableToCSV(filename) {

        var tab = $('#searchObjectTableTabs').tabs('getSelected');// selecting the table
        var tabIndex = $('#searchObjectTableTabs').tabs('getTabIndex', tab);
        var data;
        var rows;


        if (tabIndex == '0') // first index of the tab under which the table will be displayed
        {
            data = $('#dg');//Only one table
            rows = $('#dg').datagrid('getRows');


        } else if (tabIndex == '1') // second index
        {
            data = $('#doc').first(); //Only one table
            rows = $('#doc').datagrid('getRows');

        }


        var csvData = [];
        var tmpArr = [];
        var tmpStr = '';
        data.find("tr").each(function () 
        {
            if ($(this).find("th").length) {
                $(this).find("th").each(function () {
                    tmpStr = $(this).text().replace(/"/g, '""');
                    tmpArr.push('"' + tmpStr + '"');
                });                 


                csvData.push(tmpArr);
            }
            tmpArr = [];
            $.each(exportArray, function (index, value) 
            {

            csvData.push(exportArray[index].type + "," + exportArray[index].status + "," + exportArray[index].ID + "," + exportArray[index].itemrev + "," + exportArray[index].desc + "," + exportArray[index].owner + "," + exportArray[index].ogrp);
             });
            csvData.push(tmpArr.join('\n')); 
            // printObject(tmpArr);
        });
        alert('before this');
            var output = csvData.join('\n');
         csvData = 'data:application/csv;charset=utf-8,' + encodeURIComponent(output);

    $(this)
        .attr({
        'download': filename,
            'href': csvData,
            'target': '_blank'
            'delimiter':';'
    });

    alert('done');
}


$(".export").on('click', function (event) {
    // CSV
    exportTableToCSV.apply(this,['export.csv']);
    });

0 个答案:

没有答案