首页 文章

jQuery Datatable Excel导出:数字列

提问于
浏览
2

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

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

1 回答

  • 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"
        }
    });
    

相关问题