jsp 关于导出excel 自动转换 科学计数法 显示的问题

来源:互联网 发布:php项目经验 编辑:程序博客网 时间:2024/06/05 09:27

比如身份证号字段

<td>222426115447789982</td>

导出为excel 后可能会显示为这种情况

 

2.22426E+17

 

这时候只要简单的一个style 就可以解决

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

这样即可解决,注意:mso-number-format:'\@';的斜杠


在css中加入:mso-number-format定义数据格式,格式可以在excel中查看自定义格式,具体可以参考一下:

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) 


1.样式最好用css,即设style属性或class属性,有些样式属性excel不认的。th、td的宽度最好在colgroup中设

2.在excel的格子中换行,可以用这个<br style='mso-data-placement:same-cell;'/>

3.关于边框宽度的问题,如果你的table是全边框,可以设置table的border属性,其中0=不显示边框。

如果表的格式比较复杂,特别是表头,有些边要隐藏的,这个要先把table的border=0,之后对每个th td用css的边框样式进行设置,但这里有个地方要注意,就是宽度,设为0.5pt(例:border-left: 0.5pt solid #000;),如果设为1px输出的边框会很粗。


参考:http://www.360doc.com/content/12/1017/21/7851074_242097668.shtml

0 0
原创粉丝点击