下载导出excel的时候碰到比较大的数字导出被转化为科学计数法

下载导出excel的时候碰到比较大的数字导出被转化为科学计数法

问题:下载的excel文件数字被转化成了科学计数法

● 导致的原因是: 数值类型过大,excel会自动转化为科学计数法
● 解决办法: 把数值类型转化为字符串类型
尝试的方法:(未解决)
● 拼接+‘’
● 拼接+‘ ’
● 调用toString()
● 以及拼接一些不可见字符
常见的不可见字符
下载导出excel的时候碰到比较大的数字导出被转化为科学计数法_第1张图片
最终的解决方法:

拼接+‘\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);
            },

改动的地方:
在这里插入图片描述

你可能感兴趣的:(前端,vue,excel)