js导出excel表格中较长数字串会变成科学计数法问题

在做项目中,遇到导出excel表格时,银行账户号数字过长,导出的数字串变为计数法形式,如下图:

网上搜到解决方法,粘贴到这以供学习。不断更新。

原博地址:http://www.cnblogs.com/jwh-452951171/p/5817753.html

比如要将居民的信息导出到excel中,居民的身份证号码因为长度过长(大于10位),excel会自动的将过长的数字串转换成 科学计数法。现在网上找到解决方案之一:

(在数字串前后加 " " 或' ' 或 tab等空白内容都是行不通的,excel会自动去掉这些。除非你在数字串中间加,当然这样就不是我们要的结果了)

 

解决方案之一:

<td style="mso-number-format:'\@';">100821199909091234</td>

增加了  style="mso-number-format:'\@';"  样式后 可以解决 ,

(以上为亲自测试过,可行)!

另外网上有称增加css样式可行的,找了几个试了下,没找到正确的。

 

其他自定义单元格格式 样式

 

mso-number-format:"0" NO Decimals
mso-number-format:"0\.000" 3 Decimals
mso-number-format:"\#\,\#\#0\.000" Comma with 3 dec
mso-number-format:"mm\/dd\/yy" Date7
mso-number-format:"mmmm\ d\,\ yyyy" Date9
mso-number-format:"m\/d\/yy\ h\:mm\ AM\/PM" D -T AMPM
mso-number-format:"Short Date" 01/03/1998
mso-number-format:"Medium Date" 01-mar-98
mso-number-format:"d\-mmm\-yyyy" 01-mar-1998
mso-number-format:"Short Time" 5:16
mso-number-format:"Medium Time" 5:16 am
mso-number-format:"Long Time" 5:16:21:00
mso-number-format:"Percent" Percent - two decimals
mso-number-format:"0%" Percent - no decimals
mso-number-format:"0\.E+00" Scientific Notation
mso-number-format:"\@" Text
mso-number-format:"\#\ ???\/???" Fractions - up to 3 digits (312/943)
mso-number-format:"\0022£\0022\#\,\#\#0\.00" £12.76
mso-number-format:"\#\,\#\#0\.00_ \;\[Red\]\-\#\,\#\#0\.00\ "

2 decimals, negative numbers in red and signed (1.56   -1.56)

posted @ 2017-02-08 15:39  Jaye118  阅读(4281)  评论(1编辑  收藏  举报