当前位置:编程学习 > C#/ASP.NET >>

GRIDVIEW 导出数据到EXCEL---丢0

GRIDVIEW 导出数据到EXCEL---丢0,比如说“000001”,导出到EXCEL中,变成“1”;请问怎么解决? --------------------编程问答-------------------- 要设置excel的单元格格式:文本格式吧。
或者在000001前加一个'  变成:'000001 --------------------编程问答-------------------- 这个,Excel就是这样的。1.00也会变成1
导出到csv,不会信息丢失的。 --------------------编程问答-------------------- 你可以这样
2种方法

1设置样式
http://dotnet.aspx.cc/file/Export-Gridview-To-Excel-With-Multi-Sheet.aspx



2,设置
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Cells[0].Attributes.Add("style","vnd.ms-excel.numberformat:@");
e.Item.Cells[3].Attributes.Add("style","vnd.ms-excel.numberformat:¥#,###.00");
}
}


http://dotnet.aspx.cc/article/8a4cbf47-b888-4832-3389-ed3a3a3c8aab/read.aspx

实际的例子
http://dotnet.aspx.cc/Exam/OutPutExcel.aspx --------------------编程问答-------------------- e.Item.Cells[0].Attributes.Add("style","vnd.ms-excel.numberformat:@");
excel中数字前加 '
--------------------编程问答-------------------- 题外话,楼上2位够强暴。。。 --------------------编程问答--------------------
引用楼主 lvquanming 的回复:
GRIDVIEW   导出数据到EXCEL---丢0,比如说“000001”,导出到EXCEL中,变成“1”;请问怎么解决?


导出到Excel,会把000001转换成数字1。要解决这个问题,先在转换前把000001改成'000001。之后再导出到Excel,这样就能得到你想要的结果000001 --------------------编程问答-------------------- --------------------编程问答-------------------- 每个导出数据加符号’最直接 --------------------编程问答-------------------- 怎么加?
引用 8 楼 wtuqi 的回复:
每个导出数据加符号’最直接
--------------------编程问答-------------------- 每个导出数据加符号’最直接

这个是没用的,采用样式很简单 --------------------编程问答--------------------
excel.Cells.NumberFormatLocal = "@"
--------------------编程问答--------------------
引用 11 楼 linjimu 的回复:
VB.NET code
excel.Cells.NumberFormatLocal = "@"

补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,