【发布时间】:2010-08-09 03:17:19
【问题描述】:
我有 3 个数据表。我需要将这三个数据表数据写入 Excel 表中。 正如我们所知,在一张 excel 表下我可以拥有(超过 1 张)。
以同样的方式,我需要将我的 3 个数据表数据写入一个 excel(其中 sheet1 将包含 dattable1,sheet2 将包含 dattable2,sheet3 将包含 dattable3)
这是我用于将数据表数据写入网格然后写入 excel 的代码
private void DataTableToExcel(DataTable dtResult)
{
try
{
DataGrid grid = new DataGrid();
grid.HeaderStyle.Font.Bold = true;
grid.DataSource = dtResult;
grid.DataBind();
// render the DataGrid control to a file
using (StreamWriter sw = new StreamWriter(Server.MapPath("Report/Report.xls")))
{
using (HtmlTextWriter hw = new HtmlTextWriter(sw))
{
grid.RenderControl(hw);
}
}
string filePath = Server.MapPath("~/" + "Report" + "/" + "Report.xls");
System.IO.FileInfo targetFile = new System.IO.FileInfo(filePath);
if (targetFile.Exists)
{
Response.Clear();
string shortDate = DateTime.Now.ToShortDateString();
// Response.AddHeader("Content-Disposition", "attachment; filename=" + "Test");
Response.AddHeader("Content-Disposition", "attachment; filename=" + "Emp" + shortDate + ".xls");
Response.AddHeader("Content-Length", targetFile.Length.ToString());
Response.ContentType = "application/vnd.ms-excel";
Response.WriteFile(targetFile.FullName);
}
}
catch (Exception ex)
{
WriteLogError(ex.Message);
}
}
对此问题的任何帮助将不胜感激。 谢谢。
【问题讨论】:
标签: c# excel datatable asp.net-3.5