【问题标题】:Datatables.net - Export to Excel is showing error while customizingDatatables.net - 自定义时导出到 Excel 显示错误
【发布时间】:2021-10-08 13:31:34
【问题描述】:

我正在为我的 webpart 使用 SPFx、typescript 和 datatables.net,我想导出到 excel 并对数据进行一些自定义,例如左对齐。 导出工作正常,但是当我添加自定义代码时,它显示错误。 这是我的代码:

 window["JSZip"] = JSZip;
      $('#trackerDataTable').DataTable({
        dom: 'Bfrtip',
        buttons: [
          {
            extend: 'excel',
            text: '<i></i>&nbsp;Export to Excel &nbsp;',
            filename: 'Timecards',
            extension: '.xlsx',
            exportOptions: {
              columns: ':visible'
            },
            customize: function (xlsx) {
              debugger;
              var sheet = xlsx.xl.worksheets['sheet1.xml'];
              $('row c[r^="C"]', sheet).attr('s', '50');
            }
          },
        ]
});

在上面的代码中 xlsx.xl 显示如下错误:

如果你能在这里帮助我使它工作,那就太好了。 提前谢谢你。

【问题讨论】:

  • 您在 &lt;head&gt;&lt;/head&gt; 中包含了 JSZip 扩展名,正确
  • 是的@BeerusDev。我可以导出它,但我不能自定义它。
  • 你能提供你的完整代码吗?或者至少一个测试用例:例如,这是 DataTables 网站上使用 Orthogonal data 的示例,这是一个 JS Bin 展示如何使用 Change the style of the spreadsheet
  • 我为它创建了单独的函数,它开始工作了。感谢@BeerusDev 的帮助。

标签: jquery datatables sharepoint-online web-parts


【解决方案1】:

我现在找到了解决方案。我为该函数创建了一个单独的函数。我在这里使用打字稿。

window["JSZip"] = JSZip;
      $('#trackerDataTable').DataTable({
        dom: 'Bfrtip',
        buttons: [
          {
            extend: 'excel',
            className: 'btn-primary',
            text: '&nbsp; Export to Excel &nbsp;',
            filename: 'Timecards',
            extension: '.xlsx',
            exportOptions: {
              columns: ':visible'
            },
            customize: function (xlsx) {
              debugger;
              ExportTimecardsWebPart.exportExcel(xlsx); // create separate function
            }
            // customize: function(xlsx) {
            //   debugger;
            //   var sheet = xlsx.xl.worksheets['sheet1.xml'];
            //   $('row c[r^="C"]', sheet).attr('s', '50');
            // }
          },
        ],
});
 
 public static exportExcel(xlsx: any): void {
    debugger;
    var sheet = xlsx.xl.worksheets['sheet1.xml'];
    $('row c[r^="C"]', sheet).attr('s', '50');
  }

【讨论】:

    猜你喜欢
    • 2019-06-23
    • 1970-01-01
    • 1970-01-01
    • 2017-02-07
    • 2021-02-25
    • 2020-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多