Datatables.net - 导出到 Excel 在自定义时显示错误

Datatables.net - Export to Excel is showing error while customizing

我正在为我的 Web 部件使用 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 显示以下错误:

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

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

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');
  }