【问题标题】:export value of checkboxes to excel in jQuery datatables将复选框的值导出到 jQuery 数据表中的 excel
【发布时间】:2015-08-27 16:30:44
【问题描述】:

我正在使用 jQuery Datatables 插件查看一些数据,我的表中有两列包含复选框,我尝试使用 excelexcelHtml5 将表中的数据导出到 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

【讨论】:

  • 使用原生函数的绝佳解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-12
  • 1970-01-01
  • 2012-09-14
  • 1970-01-01
相关资源
最近更新 更多