Datatables.net - 自定义时导出到 Excel 显示错误
Posted
技术标签:
【中文标题】Datatables.net - 自定义时导出到 Excel 显示错误【英文标题】:Datatables.net - Export to Excel is showing error while customizing 【发布时间】: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> Export to Excel ',
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 显示如下错误:
如果你能在这里帮助我使它工作,那就太好了。 提前谢谢你。
【问题讨论】:
您在<head></head>
中包含了 JSZip 扩展名,正确
是的@BeerusDev。我可以导出它,但我不能自定义它。
你能提供你的完整代码吗?或者至少一个测试用例:例如,这是 DataTables 网站上使用 Orthogonal data 的示例,这是一个 JS Bin 展示如何使用 Change the style of the spreadsheet
我为它创建了单独的函数,它开始工作了。感谢@BeerusDev 的帮助。
【参考方案1】:
我现在找到了解决方案。我为该函数创建了一个单独的函数。我在这里使用打字稿。
window["JSZip"] = JSZip;
$('#trackerDataTable').DataTable(
dom: 'Bfrtip',
buttons: [
extend: 'excel',
className: 'btn-primary',
text: ' Export to Excel ',
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');
【讨论】:
以上是关于Datatables.net - 自定义时导出到 Excel 显示错误的主要内容,如果未能解决你的问题,请参考以下文章
使用jQuery DataTable Buttons插件不显示导出按钮
使用 jQuery DataTable Buttons Plugin 不显示导出按钮
如何将我的自定义 jquery 表行过滤与 datatables.net 集成?