1. //新建ASPX
  2. protected void Page_Load(object sender, EventArgs e)
  3. {
  4. DataTable dt = new DataTable();
  5. DataColumn dc1 = new DataColumn("name", Type.GetType("System.String"));
  6. DataColumn dc2 = new DataColumn("sex", Type.GetType("System.String"));
  7. DataColumn dc3 = new DataColumn("age", Type.GetType("System.String"));
  8. dt.Columns.Add(dc1);
  9. dt.Columns.Add(dc2);
  10. dt.Columns.Add(dc3);
  11. object[, ,] arrStr = { { { "Lily", "Females", "" } }, { { "Jack", "Males", "" } }, { { "Bob", "Males", "" } } };
  12. for (int i = ; i < arrStr.GetLength(); i++)
  13. {
  14. for (int j = ; j < arrStr.GetLength(); j++)
  15. {
  16. DataRow dr = dt.NewRow();
  17. for (int k = ; k < arrStr.GetLength(); k++)
  18. {
  19. dr[k] = arrStr[i, j, k];
  20. }
  21. dt.Rows.Add(dr);
  22. }
  23. }
  24. DataToExcel(dt, "导出EXCEL" + DateTime.Now.ToString("yyyyMMdd"), null);
  25.  
  26. }
  27. public void DataToExcel(DataTable dt, string FileName, int[] indexs)
  28. {
  29. if (dt == null)
  30. return;
  31. if (dt.Rows.Count == )
  32. {
  33. return;
  34. }
  35. try
  36. {
  37. System.Web.UI.WebControls.GridView GVOutPut= new System.Web.UI.WebControls.GridView();
  38. GVOutPut.Visible = true;
  39. GVOutPut.RowDataBound += new GridViewRowEventHandler(RowDataBound);
  40. GVOutPut.DataSource = dt;
  41. GVOutPut.DataBind();
  42. System.Web.HttpContext.Current.Response.Clear();
  43. System.Web.HttpContext.Current.Response.Buffer = true;
  44. System.Web.HttpContext.Current.Response.Charset = "UTF-8";
  45. System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName + ".xls", System.Text.Encoding.UTF8));
  46. System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
  47. System.Web.HttpContext.Current.Response.ContentType = "application/ms-excel";
  48. GVOutPut.EnableViewState = false;
  49. System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
  50. System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
  51. System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
  52. GVOutPut.RenderControl(oHtmlTextWriter);
  53. System.Web.HttpContext.Current.Response.Write(@"<style> .text {mso-number-format:\@; } </style> ");
  54. System.Web.HttpContext.Current.Response.Write(oStringWriter.ToString());
  55. System.Web.HttpContext.Current.Response.Flush();
  56. System.Web.HttpContext.Current.Response.Close();
  57. GVOutPut.DataSource = null;
  58. GVOutPut.Visible = false;
  59. }
  60. catch (Exception ex)
  61. {
  62. throw ex;
  63. }
  64. }
  65. static void RowDataBound(object sender, GridViewRowEventArgs e)
  66. {
  67. for (int i = ; i < e.Row.Cells.Count; i++)
  68. {
  69. if (e.Row.RowType == DataControlRowType.DataRow)
  70. e.Row.Cells[i].Attributes.Add("style", "vnd.ms-excel.numberformat:@");
  71. }
  72. }
  1. 效果如图:
  2.  

【ASP.NET】DataTable导出EXCEL,弹窗提示下载保存(完整代码)的更多相关文章

  1. asp.net DataTable导出Excel 自定义列名

    1.添加引用NPOI.dll 2.cs文件头部添加 using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System.IO; 3.代码如 ...

  2. asp.net DataTable导出 excel的方法记录(第三方)

    官网:http://npoi.codeplex.com/ 简单应用,主要是可以实现我们想要的简单效果,呵呵 需要引入dll,可以在官网下载,也可在下面下载 protected void getExce ...

  3. ASP.net中导出Excel的简单方法介绍

    下面介绍一种ASP.net中导出Excel的简单方法 先上代码:前台代码如下(这是自己项目里面写的一点代码先贴出来吧) <div id="export" runat=&quo ...

  4. asp.net导出excel并弹出保存提示框

    asp.net导出excel并弹出保存提示框 2013-07-12 | 阅:1  转:78   |  分享  腾讯空间 人人网 开心网 新浪微博 腾讯微博 搜狐空间 推荐给朋友 举报          ...

  5. ASP.NETCore -----导出Excel文件并下载

    本事例分为nopi(安装DotNetCore.NPOI)下载和EPPlus(EPPlus.Core.dll)下载,其中npoi下载演示的是根据执行的模板进行数据下载 npoi帮助类NpoiExcelU ...

  6. asp.net中导出Excel的方法

    一.asp.net中导出Excel的方法: 本文转载 在asp.net中导出Excel有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上:一种是将文件直接将文件输出 ...

  7. 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法

    -----转载:http://blog.csdn.net/sgear/article/details/7663502 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格 ...

  8. ASP.NET MVC导出excel

    ASP.NET MVC导出excel 要在ASP.NET MVC站点上做excel导出功能,但是要导出的excel文件比较大,有几十M,所以导出比较费时,为了不影响对界面的其它操作,我就采用异步的方式 ...

  9. Datatable导出Excel

    ; IRow headerRow = sheet.CreateRow(); ; ; ; iRowIndex++; } ; i < icolIndex; i++) { sheet.AutoSize ...

随机推荐

  1. static 与 extern 关键字描述说明

    使用static 定义的变量和函数只能用于本模块即为本文件 使用extern 定义的变量和函数可以用于其他模块的引用

  2. HTML 页面中的 SVG

    SVG 文件可通过以下标签嵌入 HTML 文档:<embed>.<object> 或者 <iframe>. 1>使用 <embed> 标签 < ...

  3. Java 连接 Hive的样例程序及解析

    以后编程基于这个样例可节省查阅API的时间. private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriv ...

  4. [Training Video - 4] [Groovy] String Functions

    def x="I like to read books before bed" def temp = x.split(" ") log.info "S ...

  5. 使用jedis2.8.0连接redis

    下载了最新的jedis客户端jedis2.8.0,在网上找了找jedis使用连接池的工具类,拿来发现都是低版本的jedis写法: returnResource(); returnBrokenResou ...

  6. Android系统编译与测试

    1.Android系统分析 2.下载Android源代码(不包括Linux内核部分) 下载好了的Android_5.01.tar.gz,通过samba复制到ubuntu里,再解压之. 可以看到Andr ...

  7. jfinal框架教程

    jfinal框架教程 下面通过一个小例子了解jfinal的结构和特点 1.建数据库(我用的是oracle数据库,其他的相对也差不多) -- Create table create table CLAS ...

  8. D3 data()

    与datum()的区别 假设要绑定的数组为[3,6,9],那么我们希望第一个p元素绑定3,第二个绑定6,第三个绑定9.这种情况就需要使用data()函数,如果使用datum(),则会将数组本身绑定到各 ...

  9. 简明的sql优化

    网上关于SQL优化的教程很多,但是比较杂乱.近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充. 这篇文章我花费了大量的时间查找资料.修改.排版,希望大家阅读之后,感觉 ...

  10. SqlCmd -Windows Cluster Model

    前提条件 1存储lun 划分完毕并且挂载到其中一台机器上 2 需要加入群集的节点机器加入域完毕,并设置好心跳线 .加域部分可以参考 之前 Sqler Cmd 加域部分. 1检查Feature 更新 S ...