VB.NET导出Excel报表时格式化单元格

在使用VB.NET 导出Excel报表时,Excel并没有按照数据库的格式原样输出。如,075,0078等数据在Excel 中会被显示为75,78。对于显示在Excel中的数据,如果没有特别指定数据格式,Excel 会按照默认的数据类型格式化数据。所以,对于075,0078等数据单元格的数据格式需要在代码中特别指定。

Dim sstyle As String
Dim LBPColumnNumber As Integer = 11
sstyle = " <style> .text { mso-number-format:\@; } </style> "
Response.Write(sstyle)
For Each row As GridViewRow In gvExport.Rows
row.Cells(LBPColumnNumber).Attributes.Add(
" Class " , " text " )
Next

格式化单元格参考:(摘自网络)

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)

当我们用<%@page contentType="application/vnd.ms-excel; charset=UTF-8"%>的方法导出html文件为excel时,如果导出的数据中有数字以0开头,则该0会被省略,为了保留这个处于首位的 0,可以在表格的style中加入:
style='mso-number-format:"\@";'

然后,再将这个样式写入到html的流中,这样0就能保留下来。

转载于:https://www.cnblogs.com/Dannier/archive/2011/03/09/1978632.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值