DataTable-输出Excel添加额外行的实现

文章最初发表于szhshp的第三边境研究所
转载请注明

Datatable Excel输出

这个方法对主流浏览器适用,特别是IE Edge

有个需求需要在Datatable输出的Excel顶端添加几行数据, 看了下Datatable官方的实现, 作者似乎也没啥好主意, 不过一些用户提供了方法。

基于Button.Customize参数实现:

  jQuery(document).ready(function($) {
    $('table#datatable').dataTable({
      buttons: [{
        extend: 'excelHtml5',
        render: function ( data, type, full, meta ) {
             return 'Download'; //change the button text here
        },
        customize: function(xlsx) {
          var sheet = xlsx.xl.worksheets['sheet1.xml'];
          var numrows = 4;

          // add styles for the column header, these row will be moved down
          var clRow = $('row', sheet);
          $(clRow[0]).find('c').attr('s', 32);

          //update Row
          clRow.each(function () {
            var attr = $(this).attr('r');
            var ind = parseInt(attr);
            ind = ind + numrows;
            $(this).attr("r", ind);
          });

          // Create row before data
          $('row c ', sheet).each(function(index) {
              var attr = $(this).attr('r');

              var pre = attr.substring(0, 1);
              var ind = parseInt(attr.substring(1, attr.length));
              ind = ind + numrows;
              $(this).attr("r", pre + ind);
          });

          function addRow(index, data) {
           var row = sheet.createElement('row');
           row.setAttribute("r", index);              
           for (i = 0; i 

参考文献

Excel Export Add Rows and Data

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值