我也来发asp.net 导出Excel
来源:互联网 发布:怎么做好社团知乎 编辑:程序博客网 时间:2024/06/16 07:13
public void CreateExcel(DataTable table, string FileName)
{
HttpResponse resp;
resp = Page.Response;
string filename = System.Web.HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8);
resp.Clear();
resp.Buffer = true;
resp.Charset = "GB2312";
resp.AddHeader("Content-Disposition", "attachment;filename=" + filename);
resp.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
resp.HeaderEncoding = System.Text.Encoding.UTF8;
resp.ContentType = "application/ms-excel";
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlControls.HtmlTable htmltable = new HtmlTable();
System.Web.UI.HtmlControls.HtmlTableRow tableheadRow = new HtmlTableRow();
////表头
for (int i = 0; i < table.Columns.Count; i++)
{
System.Web.UI.HtmlControls.HtmlTableCell tableCell = new HtmlTableCell();
tableCell.Controls.Add(new LiteralControl(table.Columns[i].Caption.ToString()));
tableheadRow.Cells.Add(tableCell);
}
htmltable.Rows.Add(tableheadRow);
////逐行处理数据
foreach (DataRow row in table.Rows)
{
System.Web.UI.HtmlControls.HtmlTableRow tablebodyRow = new HtmlTableRow();
for (int j = 0; j < table.Columns.Count; j++)
{
System.Web.UI.HtmlControls.HtmlTableCell tableCell = new HtmlTableCell();
tableCell.Controls.Add(new LiteralControl(row[table.Columns[j].ColumnName].ToString()));
string typestr = SQLUtility.GetDbType(table.Columns[j].DataType).ToString();
if (typestr.ToUpper() == "INT32" || typestr.ToUpper() == "INT")
{
tableCell.Attributes.Add("style", "vnd.ms-excel.numberformat:#,##0");
}
else if (typestr.ToUpper() == "DECIMAL")
{
tableCell.Attributes.Add("style", "vnd.ms-excel.numberformat:#,##0.00");
}
else if (typestr.ToUpper() == "DATETIME")
{
tableCell.Attributes.Add("style", "vnd.ms-excel.numberformat:yyyy年MM月dd日");
}
else
{
tableCell.Attributes.Add("style", "vnd.ms-excel.numberformat:@");
}
tablebodyRow.Cells.Add(tableCell);
}
htmltable.Rows.Add(tablebodyRow);
}
htmltable.Border = 1;
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
htmltable.RenderControl(oHtmlTextWriter);
resp.Output.Write(oStringWriter.ToString());
resp.Flush();
resp.End();
}
- 我也来发asp.net 导出Excel
- asp.net导出excel
- asp.net导出Excel
- asp.net导出excel
- asp.net导出Excel
- Asp.net 导出Excel
- asp.net导出excel
- asp.net 导出excel
- asp.net 导出Excel
- asp.net 导出 excel
- asp.net导出Excel
- ASP.NET Excel导出
- asp.net导出EXCEL
- ASP.NET Excel导出
- asp.net 导出Excel
- asp.net 导出Excel
- Asp.net导出Excel
- asp.net导出excel
- 如何提高代码的质量
- Android Market 注册时 Phone Number 填写方式
- C# 获取当前路径方法
- Kaka's Matrix Travels (最大费用流)
- sql里分隔字符串函数
- 我也来发asp.net 导出Excel
- PL/SQL Developer 使用笔记
- Cortex-M0 微控制器功能模块参考---新唐科技NuMicro 家族NUC100/NUC120/NUC130/NUC140系列
- WinCE6.0不重起修改IP地址
- uptime和last reboot
- 选择时间段本周、本月、本季度、本年的条件来查询
- 分享:射击运动员10发打中90环有多少种可能?(C#)
- javascript经典脚本
- C++ builder6.0(BCB)中的类型转换总结