添加扩展到导出的CSV文件

时间:2016-03-16 19:43:51

标签: javascript csv

我有一个脚本可以将数据从页面导出到csv和其他格式。问题是当保存到csv时,脚本将其导出为没有扩展名的文件。另外,我无法更改文件的名称 - 下载。

以下是csv导出函数的一部分:

(function($){
    $.fn.extend({
        tableExport: function(options) {
            var defaults = {
                    separator: ',',
                    ignoreColumn: [],
                    tableName:'yourTableName',
                    type:'csv',
                    pdfFontSize:14,
                    pdfLeftMargin:20,
                    escape:'true',
                    htmlContent:'true',
                    consoleLog:'true'
             };

            var options = $.extend(defaults, options);
            var el = this;

            if(defaults.type == 'csv' || defaults.type == 'txt'){

                // Header
                var tdData ="";
                $(el).find('thead').find('tr').each(function() {
                tdData += "\n";                 
                    $(this).filter(':visible').find('th').each(function(index,data) {
                        if ($(this).css('display') != 'none'){
                            if(defaults.ignoreColumn.indexOf(index) == -1){
                                tdData += '"' + parseString($(this)) + '"' + defaults.separator;                                    
                            }
                        }

                    });
                    tdData = $.trim(tdData);
                    tdData = $.trim(tdData).substring(0, tdData.length -1);
                });

                // Row vs Column
                $(el).find('tbody').find('tr').each(function() {
                tdData += "\n";
                    $(this).filter(':visible').find('td').each(function(index,data) {
                        if ($(this).css('display') != 'none'){
                            if(defaults.ignoreColumn.indexOf(index) == -1){
                                tdData += '"'+ parseString($(this)) + '"'+ defaults.separator;
                            }
                        }
                    });
                    //tdData = $.trim(tdData);
                    tdData = $.trim(tdData).substring(0, tdData.length -1);
                });

                //output
                if(defaults.consoleLog == 'true'){
                    console.log(tdData);
                }
                var base64data = "base64," + $.base64.encode(tdData);
                window.open('data:application/'+defaults.type+';filename=exportData;' + base64data);
            }

如何将.csv添加到导出的文件中并最终重命名导出的文件?

0 个答案:

没有答案