datatables插件导出excel【指定excel单元格格式,禁止用科学计数法显示】

1.导出excel时将单元格数据转换成文本
datatables插件下载excel时,单元格数据是超过十位数的数字字符串(数据类型是string),下载时却用科学计数法显示,不符合需求。(最常见的就是下载身份证号码的情况)。

如果不做任何额外设置,下载的excel会如图以科学计数法的形式显示,需双击后才会显示正常。
以科学计数法显示
双击后显示正常:
双击后显示正常

解决方法:
stackoverflow上第四个答案

var table = $('#table_id').DataTable({
    dom : 'Bfrtlip',    
    columnDefs: [{
       targets:[1],//指定哪几列
       render: function(data){
               return "\u200C" + data ; 
         }
    }]
});

2.导出excel时,更改表格中数据
datatables官网上的例子

$(document).ready(function() {
    var buttonCommon = {
        exportOptions: {
            format: {
                body: function ( data, row, column, node ) {
                    // Strip $ from salary column to make it numeric
                    return column === 5 ?
                        data.replace( /[$,]/g, '' ) :
                        data;
                }
            }
        }
    };

    $('#example').DataTable( {
        ajax: '../../../../examples/ajax/data/objects.txt',
        columns: [
            { data: 'name' },
            { data: 'position' },
            { data: 'office' },
            { data: 'extn' },
            { data: 'start_date' },
            { data: 'salary' }
        ],
        dom: '<"#btn_id"B>frtip',//可在此设置下载的按钮的id和样式等
        buttons: [
            $.extend( true, {}, buttonCommon, {
                extend: 'copyHtml5'
            } ),
            $.extend( true, {}, buttonCommon, {
                extend: 'excelHtml5'
            } ),
            $.extend( true, {}, buttonCommon, {
                extend: 'pdfHtml5'
            } )
        ]
    } );
} );
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值