今天早上客户跟我说excel导出身份证的时候显示有的对有的不对,我一看原来身份证以X结尾的可以,其它都显示不正确。身份正显示如图所示:

在网上搜了一下发现,原来excel看你数字列超过12位就会显示科学计数。而身份证一般都是18位所以显示这样。

解决办法就是在身份证这一列前面加“单引号”。形如:'4206211111111111111

具体代码如下:<td style="border: 1px solid #000;">'<s:property value="id_card" /></td>

这样就可以把问题解决了,不过身份证号码导出的时候前面会有一个单引号。

================================================================

我总感觉还有更好的方法,我在网上搜了一下,导出的时候可以设置td的样式,不过我设置了还是没有效果。

奇葩事情不断呀,我在本地测试可以通过,放到服务器上就没有效果。最后找到了一种在本地和服务器都有效果的方法就是:

在页面前面加入如下代码:

 

复制代码代码如下:

<style> 
td{ 
mso-number-format:'\@'; 

</style>