我正在处理最初使用不受欢迎的ActiveXObject将HTML表格导出到Excel的页面。我已将表转换为jQuery DataTable并使用此处描述的Excel导出功能:https://datatables.net/extensions/buttons/examples/initialisation/export.html
导出工作正常,除了我有一个美元金额列的问题。使用ActiveXObject导出时,此列被识别为数字列。但是,使用DataTable导出时,该列将被视为文本,从而阻止对它们执行数字操作。列中的每个单元格在左上角包含一个小绿色三角形,表示数据存在问题。将鼠标悬停在警告图标上时,警告会显示" Number Stored as Text。"该列可以在Excel中转换为数字,但用户将自动使用此列作为数字。任何想法为什么会发生这种情况以及如何解决它?
答案 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"
}
});