public void ExportExcel(System.Web.UI.Page page, DataTable dt,string tablename)
{
page.Response.Clear();
page.Response.Buffer = true;
page.Response.HeaderEncoding = System.Text.Encoding.GetEncoding("utf-8");
page.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8");
page.Response.ContentType = "application/ms-excel";
page.Response.Charset = "";
page.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("zh-CN", true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
DataGrid DataGrid1 = new DataGrid();
DataGrid1.ItemDataBound += new DataGridItemEventHandler(DataGrid_ItemDataBound);
DataGrid1.DataSource = dt;
DataGrid1.DataBind();
DataGrid1.RenderControl(oHtmlTextWriter);
HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" + tablename + ".xls");
page.Response.Write(oStringWriter.ToString());
page.Response.Buffer = false;
page.Response.Flush();
page.Response.End();
}
protected void DataGrid_ItemDataBound(object sender, 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[0].Attributes.Add("style", "background-color:Gray;Height:25;");
e.Item.Cells[12].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
string[] sfzhyxmc = GetSfzhYxmc(e.Item.Cells[0].Text).Split(':');
e.Item.Cells[19].Text = sfzhyxmc[0];
e.Item.Cells[19].Attributes.Add("style", "vnd.ms-excel.numberformat:@"); //文本
e.Item.Cells[4].Text = sfzhyxmc[1];
//e.Item.Cells[0].Width = 80;
//e.Item.Cells[0].Style[HtmlTextWriterStyle.Color] = "red";
//e.Item.Cells[2].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
//e.Item.Cells[4].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
//e.Item.Cells[6].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
//e.Item.Cells[7].Attributes.Add("style", "vnd.ms-excel.numberformat:#,##0.00");
//e.Item.Cells[12].Attributes.Add("style", "vnd.ms-excel.numberformat:#,##0.00");
}
}