繁体   English   中英

导出为xls文件格式

[英]Export to xls file format

我需要一个导出到xls的JQuery网格或一个导出到xlsx文件格式的javascript代码。 我正在尝试这样的事情:

    function emitXmlHeader(testTypes) {
        var headerRow =  '<ss:Row>\n';
        for (var colName in testTypes) {
            headerRow += '  <ss:Cell>\n';
            headerRow += '    <ss:Data ss:Type="String">';
            headerRow += colName + '</ss:Data>\n';
            headerRow += '  </ss:Cell>\n';        
        }
        headerRow += '</ss:Row>\n';    
        return '<?xml version="1.0"?>\n' + 
           '<ss:Workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">\n' +
           '<ss:Worksheet ss:Name="Sheet1">\n' +
           '<ss:Table>\n\n' + headerRow;
   };

   function emitXmlFooter() {
       return '\n</ss:Table>\n' +
              '</ss:Worksheet>\n' +
              '</ss:Workbook>\n';
   };

   function jsonToSsXml(data, testTypes) {
       var row;
       var col;
       var xml;

       xml = emitXmlHeader(testTypes);

       for (row = 0; row < data.length; row++) {
           xml += '<ss:Row>\n';

           for (col in testTypes) {
                xml += '  <ss:Cell>\n';
                xml += '    <ss:Data ss:Type="' + testTypes[col]  + '">';
                xml += data[row][col] + '</ss:Data>\n';
                xml += '  </ss:Cell>\n';
           }

           xml += '</ss:Row>\n';
       }

       xml += emitXmlFooter();
       return xml;  
    };

    function download(content, filename, contentType) {
        if (!contentType) contentType = 'application/octet-stream';
        var a = document.getElementById('exportExcel');
        var blob = new Blob(["\ufeff", content], {
        'type': contentType
    });
    a.href = window.URL.createObjectURL(blob);
    a.download = filename;
    a.click();
    };

    function excelExport() {

        var data = [
             {
                  "firstname": "John",
                  "lastname": "Smith",
                  "date": "2015-11-11"
             },
         {
                  "firstname": "Jim",
                  "lastname": "Bains",
                  "date": "2015-11-11",
             }
    ];
        var testTypes = {
              "firstname": "String",
              "lastname": "String",
              "date": "Date"
    };

    var excel = jsonToSsXml(data, testTypes);           
    download(excel, 'test.xls', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    }

打开xls文件时出现错误。 我想格式中有一些内容。 你能给我些支持吗?

看一下Shield UI的此Grid示例 -可以无缝设置Grid以导出为Excel 2003和2007(及更高版本)格式。

这里可以找到有关导出功能的完整文档。 它说您也可以导出到PDF,而不管数据来源和用于呈现它的控件如何。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM