tableExport.js导出execl-数字格式化方案

一,问题描述

  1. 页面显示数据为80.00 小数点精确2位,导出的execl自动将后面的00隐藏掉
  2. 需要设置导出execl数据项的格式

页面:

tableExport.js导出execl-数字格式化方案

导出execl效果

tableExport.js导出execl-数字格式化方案

二:解决方案

1.tableExport.js导出execl里面的原理其实是html导出execl原理,详情可以参考http://www.cnblogs.com/myaspnet/archive/2011/05/06/2038490.html

 2.tableExport.js源代码中搜索execl关键字,需要修改的代码在626行到634之间

tableExport.js导出execl-数字格式化方案

在每个td标签中设置style属性vnd.ms-excel.numberformat:#,##0.00 即可

修改代码如下

tableExport.js导出execl-数字格式化方案

var type  = "String";
                  var data  = parseString(cell, row, col);

                  if ( jQuery.isNumeric(data) !== false &&data.indexOf(".")>0 ) {
                    type = "Number";
                  }
                  
                  trData += '<td ';
                  var numberformat = 'vnd.ms-excel.numberformat:#,##0.00';
                  if(tdstyle !== ''){
	                  if ( type==='Number' ){
	                    trData += ' ' + tdstyle + ';'+numberformat+';"';
	                  }else{
	                    trData += ' ' + tdstyle + '"';
	                  }
                  }

三,测试效果

点击导出按钮

execl效果如下:

tableExport.js导出execl-数字格式化方案