jQuery Datatable Excel导出:数字列

时间:2016-05-26 17:50:26

标签: jquery excel datatables

我正在处理最初使用不受欢迎的ActiveXObject将HTML表格导出到Excel的页面。我已将表转换为jQuery DataTable并使用此处描述的Excel导出功能:https://datatables.net/extensions/buttons/examples/initialisation/export.html

导出工作正常,除了我有一个美元金额列的问题。使用ActiveXObject导出时,此列被识别为数字列。但是,使用DataTable导出时,该列将被视为文本,从而阻止对它们执行数字操作。列中的每个单元格在左上角包含一个小绿色三角形,表示数据存在问题。将鼠标悬停在警告图标上时,警告会显示" Number Stored as Text。"该列可以在Excel中转​​换为数字,但用户将自动使用此列作为数字。任何想法为什么会发生这种情况以及如何解决它?

1 个答案:

答案 0 :(得分:0)

我能够解决这个问题如下:

var buttonCommon = {
    exportOptions: {
        format: {
            body: function (data, column, row, node) {
                return (column >= 5 && column <= 7) ? data.replace(/[.]/g, '').replace(',', '.') : data;
            }
        }
    }
};

$('#tableHist').DataTable({
    "info": false,
    "ordering": false,
    "scrollX": true,
    "searching": false,
    dom: 'Bfrtip',
    buttons: [
        $.extend(true, {}, buttonCommon, {
            extend: 'excelHtml5',
            title: 'CIR_RESSEGURO_HISTORICO_AJUSTE_PMD'
        })
    ],
    "language": {
        "url": "//cdn.datatables.net/plug-ins/1.10.12/i18n/Portuguese-Brasil.json"
    }
});