导出EXCEL数字显示为科学计数法的问题

今天在做一个导出excel的功能,发现导出来的数字的内容会被显示为科学记数法,因此我就上网查了下解决的方法,自己稍微做了下总结,有需要的人可以参考看看,呵呵...

同时我也了解到了导出excel的原理就是在把输出结果传送到浏览器上,然后浏览器启动对应的应用程序来处理这个输出文档。

这可以通过多种类型MIME(多功能网际邮件扩充协议)来完成。在HTTP中,MIME类型被定义在Content-Type header中。

因此把mime类型设为:application/vnd.ms-excel,我是这么写的:response.setContentType("application/vnd.ms-excel;charset=utf-8");

 

对应的想要在excel显示的形式就必须经过设置,然后再输出来的,把样式设置下就可以了。

设置样式我总结了两种方法:

第一是内嵌样式的写法,例如给标签对添加样式, 当然其他的标签也是一样的,例如

           465465643

第二就是使用内部样式,但是内部样式表只对所在的网页有效。

 

     

 
 同样,我们也可以给
添加样式,也可以给,
添加样式,但是要注意的是你设置的style在不一定会起作用,每个标签都是“就近原则”的,比如下面的例子,table和td都设置了style,但是tr地下的两个td中,第一个是根据table的设置显示的,但是第二个会根据自己的设置的来显示的
 
< table   style= 'vnd.ms-excel.numberformat:#,##0.00' >

      <tr>

           <td>4654td>

           <td  style='vnd.ms-excel.numberformat: #0.00%'>0.2465465643td>

       tr>

table>

 

1)  文本:vnd.ms-excel.numberformat:@

2)  日期:vnd.ms-excel.numberformat:yyyy/mm/dd

3)  数字:vnd.ms-excel.numberformat:#,##0.00

4)  货币:vnd.ms-excel.numberformat:¥#,##0.00

5)  百分比:vnd.ms-excel.numberformat: #0.00% 

你可能感兴趣的:(C#)