将数据从DataTable导出到Excel 2007中
问题描述:
Datatable的值为将数据从DataTable导出到Excel 2007中
斯大林 - 001和迈克尔 - 002。但产生练成我获得输出作为
在产生到Excel中的“0”并不coming.how解决这一类型scenerios的。
代码:
if (dt.Rows.Count > 0)
{
string filename = " ExportedData.xls";
System.IO.StringWriter tw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);
DataGrid dgGrid = new DataGrid();
dgGrid.DataSource = dt;
dgGrid.DataBind();
dgGrid.RenderControl(hw);
Response.ContentType = "application/vnd.ms-excel";
Response.AppendHeader("Content-Disposition", "attachment; filename=" + filename + "");
this.EnableViewState = false;
Response.Write(tw.ToString());
Response.End();
}
答
你可以存储/更新数据在数据表的格式如下:= “001”
例子:
DataTable dt = new DataTable();
dt.Columns.Add("A");
dt.Columns.Add("B");
dt.Rows.Add(new object[] { "Name", "No" });
dt.Rows.Add(new object[] { "Stalin", "=\"001\""});
dt.Rows.Add(new object[] { "Micheal", "=\"002\"" });
答
那不是你的代码有问题。 它是你的Excel配置隐藏前缀零的问题。
1.在工具菜单上,单击选项,然后单击查看选项卡。
2.Do下列之一:
要显示零(0)中单元格的值,选择零个值复选框。
要将零值显示为空白单元格,请清除该复选框。
答
在将数据表链接到数据网格之前,您可以手动设置数据表中列的内容类型。
DataTable dt = new DataTable();
dt.Columns.Add();
dt.Columns[0].DataType = typeof(string);
你的代码粘贴为** **文,而不是一个图像.. – 2013-03-01 16:41:33
好@ TimSchmelter,我将如何得到该文件? – gpa 2013-03-01 16:45:39
@SonerGönül但是那么SO不会以斜体Times New Roman格式编码! – 2013-03-01 16:46:01