下载导出excel的时候碰到比较大的数字导出被转化为科学计数法
问题:下载的excel文件数字被转化成了科学计数法
● 导致的原因是: 数值类型过大,excel会自动转化为科学计数法
● 解决办法: 把数值类型转化为字符串类型
尝试的方法:(未解决)
● 拼接+‘’
● 拼接+‘ ’
● 调用toString()
● 以及拼接一些不可见字符
常见的不可见字符
最终的解决方法:
拼接+‘\b’ (拼接不可见字符\b)
代码如下:
onExportWithFront() {
const params = {
sheetName: "sheet1",
onlySelected: true,
fileName: (this.ext.exportName || 'export-') + this.$dateUtils.getCurrentTime()
};
const cloneUtil = this.$utils.deepClone;
params.processCellCallback = function (params) {
if(params.value){
params.value += '\b';
}
const colDef = cloneUtil(params.column.colDef);
const cl = colDef.cellClass;
colDef.cellClass = [cl, "boldBorders"];
const valueFormatter = colDef.valueFormatter;
if (valueFormatter) {
console.log(111)
return valueFormatter(params);
} else {
return params.value;
}
};
this.gridController.gridApi.exportDataAsExcel(params);
},
改动的地方:
在这里插入图片描述