js 中导出excel 较长数字串会变成科学计数法
Posted 清澈@Cherry
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 中导出excel 较长数字串会变成科学计数法相关的知识,希望对你有一定的参考价值。
转自:http://www.cnblogs.com/jwh-452951171/p/5817753.html
项目中用到了前段分页,所以遇到日期格式和身份证号过长的就需要自定义,我的是在ajax的success成功之后,自定义td,然后添加样式如下:$('td:eq(5)', nRow).html("<p style=\\"mso-number-format:'\\@';\\">"+checkNull(aData.identification)+"</p>");
我的日期格式是2016-01的格式,导出来的时候直接为文本就好,如下:
![](https://image.cha138.com/20220601/2b3eb82beb6743f99e05aa0c5e68b41b.jpg)
样式如下,我试过使用双引号""的形式无法识别,改为单引号就可以了
mso-number-format:'\\@';
js 中导出excel 较长数字串会变成科学计数法
在做项目中,碰到如题的问题。比如要将居民的信息导出到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) |
以上是关于js 中导出excel 较长数字串会变成科学计数法的主要内容,如果未能解决你的问题,请参考以下文章
软件导出数据到excel,数据都变成了科学计数,请问能否将EXCEL的默认数字格式改为数值?