在写代码的时候常常会遇到数据导出Excel这样的问题。现在写两个常用的Excel数据导出。
1、DataTable导出Excel
2、gridview 导出Excel
其实2和1相比只不过是做了微小的改动。但是2却有一个1没有的优点,那就是2中的方式可以解决 人为设定 Excel 某列的显示格式 。
比如:身份证号码显示、数字显示、货币显示等等
但是如果用2中的方法同样也会遇到一个问题。
类型“GridView”的控件“XXXX”必须放在具有 runat=server 的窗体标记内。”的异常
解决方法:对WebForm窗体的VerifyRenderingInServerForm方法进行Override!
public override void VerifyRenderingInServerForm(Control control)
{
//OverRide 为了使导出成Excel可行!
}
下面是怎么解决身份证、货币等Excel导出显示的问题。如果身份证数据不做处理,导出后显示的是科学计数法,而且最后三位会变成0.
如下:身份证改成文本显示
其它类型可以用此方法变更。