tableExport.js导出数据身份证以科学计数代替(2)
程序员文章站
2022-07-15 10:38:11
...
最近的项目中需要大量用到导出excel文件,这期间遇到两个问题,1:身份证号导出之后在excel文件以科学计数法显示,后面通过修改tableExport.js文件解决
导出.xls文件处理方法
//源文件
if (typeof tdcss == 'undefined' && typeof defaults.onMsoNumberFormat === 'function')
tdcss = defaults.onMsoNumberFormat(cell, row, col);
//修改之后
if (typeof tdcss == 'undefined' && typeof defaults.onMsoNumberFormat === 'function')
tdcss = defaults.onMsoNumberFormat(cell, row, col);
else
{
tdcss = '\\@';
}
导出.xlsx文件处理方法
//源文件
// Handle Value
if ( typeof defaults.onCellData !== 'function' ) {
// Type conversion
if ( cellValue !== "" && cellValue == +cellValue )
cellValue = +cellValue;
}
//修改之后
// Handle Value
if ( typeof defaults.onCellData !== 'function' ) {
// Type conversion
// if ( cellValue !== "" && cellValue == +cellValue )
// cellValue = +cellValue;
}
2:按照以上的方案处理,身份证不再以科学计数方式显示。但是出现一个新问题,excel表格中的数字格式的数据不能进行选中计算,这导致在使用的时候很不方便计算,所以就行了第二次修改源文件
处理方案:1:将不需要转换成数字的列通过指定的方式进行单独处理成以字符串的格式显示。
导出.xls文件处理方法
if (typeof tdcss == 'undefined' && typeof defaults.onMsoNumberFormat === 'function')
tdcss = defaults.onMsoNumberFormat(cell, row, col);
else
{
var index = defaults.displayStringColumn.indexOf(col);
if (index > -1)
tdcss = '\\@';
}
导出.xlsx文件处理方法
// Handle Value
if ( typeof defaults.onCellData !== 'function' ) {
var index = defaults.displayStringColumn.indexOf(col)
if (index == -1)
{
if (cellValue !== "" && cellValue == +cellValue)
cellValue = +cellValue;
}
}