//新建ASPX
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
DataColumn dc1 = new DataColumn("name", Type.GetType("System.String"));
DataColumn dc2 = new DataColumn("sex", Type.GetType("System.String"));
DataColumn dc3 = new DataColumn("age", Type.GetType("System.String"));
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
object[, ,] arrStr = { { { "Lily", "Females", "" } }, { { "Jack", "Males", "" } }, { { "Bob", "Males", "" } } };
for (int i = ; i < arrStr.GetLength(); i++)
{
for (int j = ; j < arrStr.GetLength(); j++)
{
DataRow dr = dt.NewRow();
for (int k = ; k < arrStr.GetLength(); k++)
{
dr[k] = arrStr[i, j, k];
}
dt.Rows.Add(dr);
}
}
DataToExcel(dt, "导出EXCEL" + DateTime.Now.ToString("yyyyMMdd"), null); }
public void DataToExcel(DataTable dt, string FileName, int[] indexs)
{
if (dt == null)
return;
if (dt.Rows.Count == )
{
return;
}
try
{
System.Web.UI.WebControls.GridView GVOutPut= new System.Web.UI.WebControls.GridView();
GVOutPut.Visible = true;
GVOutPut.RowDataBound += new GridViewRowEventHandler(RowDataBound);
GVOutPut.DataSource = dt;
GVOutPut.DataBind();
System.Web.HttpContext.Current.Response.Clear();
System.Web.HttpContext.Current.Response.Buffer = true;
System.Web.HttpContext.Current.Response.Charset = "UTF-8";
System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName + ".xls", System.Text.Encoding.UTF8));
System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
System.Web.HttpContext.Current.Response.ContentType = "application/ms-excel";
GVOutPut.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);
GVOutPut.RenderControl(oHtmlTextWriter);
System.Web.HttpContext.Current.Response.Write(@"<style> .text {mso-number-format:\@; } </style> ");
System.Web.HttpContext.Current.Response.Write(oStringWriter.ToString());
System.Web.HttpContext.Current.Response.Flush();
System.Web.HttpContext.Current.Response.Close();
GVOutPut.DataSource = null;
GVOutPut.Visible = false;
}
catch (Exception ex)
{
throw ex;
}
}
static void RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int i = ; i < e.Row.Cells.Count; i++)
{
if (e.Row.RowType == DataControlRowType.DataRow)
e.Row.Cells[i].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
}
}
 效果如图:

       

最新文章

  1. .NET Core采用的全新配置系统[3]: “Options模式”下的配置是如何绑定为Options对象
  2. spring boot(二):web综合开发
  3. viewport理解
  4. half extents
  5. Linux下的串口编程及非阻塞模式
  6. C#重启IIS指定网站和指定应用程序池
  7. Ubuntu 修改hosts
  8. ELK:kibana使用的lucene查询语法
  9. ubuntu 14.04 root破解
  10. JSON.NET基本使用
  11. 写给Java开发者的Node.JS简介
  12. 利用LinkedList生成一副扑克牌
  13. 201521123034《Java程序设计》第十四周学习总结
  14. C++中结构体与类的区别(struct与class的区别)
  15. Centos6.5DRBD加载失败,系统更换yum源(国内163)
  16. Linux实战教学笔记50:Zabbix监控平台3.2.4(二)深入理解zabbix
  17. docker18.09.5 Dockerfile文件编写
  18. windows 中查找占用某个端口的进程并杀死的命令
  19. linux终端提示符显示bash-4.2#
  20. C#学习入门第二篇

热门文章

  1. Django基础学习三_路由系统
  2. 电话号码的字母组合 &#183; Letter Combinations of a Phone Number
  3. jdeveloper 恢复默认配置
  4. 关于java项目中的.project文件:
  5. MicroRNA in Control of Gene Expression: An Overview of Nuclear Functions 微RNA控制基因表达:核功能概述
  6. setitemdata 32位 or 64位
  7. 回答了这四个问题,你就可以打造最佳App首页
  8. [分享]PY的Boost自动编译程序 1.1 根据环境自动编译
  9. 我大中华微软MVP中国区人才库(转)
  10. 从Objective-C到Swift,你必须会的(一)#pragma mark