下面是我的bootstrap表:enter image description here
导出为.xls或.csv格式后,我发现“已注册”字段自动更改为日期格式。下面是Excel:enter image description here
你可以看到,原来的值是5/10(这意味着10分中的5分),但在导出后它变成了10-May。有什么方法可以保留字段的原始值吗?我不希望它自动更改为日期格式。谢谢
下面是我的代码:
function loadTable() {
$.ajax({
type: "POST",
url: "admin/oes/getReport",
success: function (dataRaw) {
var data = JSON.parse(dataRaw);
$('#table').bootstrapTable('destroy');//re-initialize
$('#table').bootstrapTable({
data: data.list,
pageNumber:1,
pagination: 'client',
pageSize: 50,
pageList: [20,50,100,200],
search: true,
//toolbar: "#toolbar",
//exportDataType: $(this).val(),
exportTypes: ['csv','excel'],
exportOptions: {
fileName: 'geElectiveReport_' + Date.now()
},
columns: [{
field: 'sectionId',
title: 'Section ID',
sortable: true
}, {
field: 'programmeType',
title: 'Prog Type',
sortable: true
}, {
field: 'instructor',
title: 'Instructor',
sortable: true
}, {
field: 'module',
title: 'Module',
sortable: true
}, {
field: 'room',
title: 'Room',
sortable: true
}, {
field: 'week',
title: 'Week',
sortable: true
}, {
field: 'time',
title: 'Time',
sortable: true
}, {
field: 'mediumOfInstruction',
title: 'Medium of Instruction',
sortable: true
}, {
field: 'programmeNotAllow',
title: 'Programme not Allow',
sortable: true
}, {
field: 'numEnrol',
title: 'Enrolled',
sortable: true,
formatter: (value, row, index, field) => {
return value + '/' + row.quota
}
},
]
});
},
error: function () {
alert("");
}
});
}
我期望Excel将显示原始值,即5/10,而不是自动更改为日期格式10-May。
1条答案
按热度按时间ccrfmcuu1#
bootstrap-table使用的tableExport.jquery.plugin中有一些额外的选项。data-tableexport-cellformat可以解决这个问题,它应该将数字转换为一个字符串,或者至少是一种不改变数字的格式。以下是文档中的相关摘录:
<td data-tableexport-cellformat="">...</td> ->
空数据值保留单元格内容的格式。例如,没有数字分隔符[sic]转换如果需要,该链接还包含其他导出类型的信息。
但是,您可能希望尝试在Excel以外的其他文件中打开,以查看它是否实际上是Excel,只是默认情况下重新格式化它,而不是导出文档中固有的内容,在这种情况下,您需要以某种方式修改配置。