jquery - 从 DataTable 对象创建 CSV
问题描述
我目前正在尝试使用 JQuery 从数据表中制作自定义 CSV。我创建了一个自定义导出按钮:
$.fn.dataTable.ext.buttons.my_button
我目前正在扩展 CSV 并在自定义方法中编写我的逻辑。这样做的问题是它导致通过 CSV 解析大量代码,而且它似乎比我应该创建我需要的 CSV 更难。我正在尝试合并数据单元格,更改标题等。
如果我可以从传递给自定义方法的 DataTable API 对象中读取并从头开始构建我自己的 CSV,那将会容易得多。这可能吗?
解决方案
事实证明这实际上非常简单..您需要做的就是将 csv 重置为空白字符串,然后您可以将其重新构建。
$.fn.dataTable.ext.buttons.custom_1= {
className: 'buttons-alert',
extend: 'csv',
text: 'SalesForce',
filename: 'salesforce_export',
customize: function(csv, button, dataTable){
csv = 'New Column,New Column 2'
dataTable.rows().every(function (rowId, tableLoop, rowLoop){
var row_data = this.data();
var custom_column_1 = row_data.cell + '$';
var custom_column_2 = row_data.cell2 + ', ' + row_data.cell3;
var row = [custom_column_1,custom_column_2].join();
row += '\n';
csv += row;
});
return csv;
}
}
推荐阅读
- r - 基于多个范围合并
- reverse-engineering - 缓冲区溢出 - 没有足够的空间用于 shellcode
- android - 我无法减小我的 React-Native Android 应用程序的大小
- ibm-cloud - 如何找到当前版本的 IBM Hyperledger Fabric?
- android - GDrive REST API - 读取不是由应用程序创建的文件 - 连接问题
- android - Firefox 不在 Android 上显示媒体设备
- javascript - Html2canvas 仅渲染视口中可见的元素部分
- java - Apache Camel Netty4 - 聚合请求块后无法在同一个套接字上发送响应
- c# - INSERT 语句冲突
- mysql - kafka-connect-jdbc:SQLException:仅在使用分布式模式时没有合适的驱动程序