【问题标题】:export value of checkboxes to excel in jQuery datatables将复选框的值导出到 jQuery 数据表中的 excel
【发布时间】:2015-08-27 16:30:44
【问题描述】:
我正在使用 jQuery Datatables 插件查看一些数据,我的表中有两列包含复选框,我尝试使用 excel 和 excelHtml5 将表中的数据导出到 XSLX 文件还有excelFlash按钮,但我在文件中有两个空列,我还在我的项目中包含了JSZip插件但徒劳无功。如何在我的文件中获取这些复选框的值作为布尔值。
【问题讨论】:
-
能否请您在jsFiddle 上创建一个示例来演示您的代码以及您到目前为止所做的尝试?
-
-
标签:
javascript
jquery
datatables
【解决方案1】:
解决方案
您正在使用 DataTables 1.10.8。在此版本(1.10.7 和更早版本)之前,有带有fnCellRender 选项的 TableTools 可以帮助您完成您想要的操作。从 1.10.8 开始,TableTools 扩展已被 Buttons 扩展取代。
使用 Buttons 扩展,您可以使用 exportOptions 并告诉 DataTables 您想要用于排序的数据 (orthogonal: 'sort')。然后您需要定义render 函数并在执行排序时返回适当的数据(type === 'sort')。
作为副作用,这将使您的复选框列也可排序。
var table = $('#example1').DataTable({
dom : 'Bfrtlip',
buttons: [
{
extend: 'excel',
exportOptions: {
orthogonal: 'sort'
}
}
],
columnDefs: [{
targets:[0,5],
render: function(data, type, row, meta){
if(type === 'sort'){
var $input = $(data).find('input[type="checkbox"]').addBack();
data = ($input.prop('checked')) ? "1" : "0";
}
return data;
}
}]
});
演示
有关代码和演示,请参阅 this jsFiddle。