【ASP.NET】DataTable导出EXCEL,弹窗提示下载保存(完整代码)
- //新建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:@");
- }
- }
- 效果如图:
【ASP.NET】DataTable导出EXCEL,弹窗提示下载保存(完整代码)的更多相关文章
- asp.net DataTable导出Excel 自定义列名
1.添加引用NPOI.dll 2.cs文件头部添加 using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System.IO; 3.代码如 ...
- asp.net DataTable导出 excel的方法记录(第三方)
官网:http://npoi.codeplex.com/ 简单应用,主要是可以实现我们想要的简单效果,呵呵 需要引入dll,可以在官网下载,也可在下面下载 protected void getExce ...
- ASP.net中导出Excel的简单方法介绍
下面介绍一种ASP.net中导出Excel的简单方法 先上代码:前台代码如下(这是自己项目里面写的一点代码先贴出来吧) <div id="export" runat=&quo ...
- asp.net导出excel并弹出保存提示框
asp.net导出excel并弹出保存提示框 2013-07-12 | 阅:1 转:78 | 分享 腾讯空间 人人网 开心网 新浪微博 腾讯微博 搜狐空间 推荐给朋友 举报 ...
- ASP.NETCore -----导出Excel文件并下载
本事例分为nopi(安装DotNetCore.NPOI)下载和EPPlus(EPPlus.Core.dll)下载,其中npoi下载演示的是根据执行的模板进行数据下载 npoi帮助类NpoiExcelU ...
- asp.net中导出Excel的方法
一.asp.net中导出Excel的方法: 本文转载 在asp.net中导出Excel有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上:一种是将文件直接将文件输出 ...
- 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法
-----转载:http://blog.csdn.net/sgear/article/details/7663502 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格 ...
- ASP.NET MVC导出excel
ASP.NET MVC导出excel 要在ASP.NET MVC站点上做excel导出功能,但是要导出的excel文件比较大,有几十M,所以导出比较费时,为了不影响对界面的其它操作,我就采用异步的方式 ...
- Datatable导出Excel
; IRow headerRow = sheet.CreateRow(); ; ; ; iRowIndex++; } ; i < icolIndex; i++) { sheet.AutoSize ...
随机推荐
- static 与 extern 关键字描述说明
使用static 定义的变量和函数只能用于本模块即为本文件 使用extern 定义的变量和函数可以用于其他模块的引用
- HTML 页面中的 SVG
SVG 文件可通过以下标签嵌入 HTML 文档:<embed>.<object> 或者 <iframe>. 1>使用 <embed> 标签 < ...
- Java 连接 Hive的样例程序及解析
以后编程基于这个样例可节省查阅API的时间. private static String driverName = "org.apache.hadoop.hive.jdbc.HiveDriv ...
- [Training Video - 4] [Groovy] String Functions
def x="I like to read books before bed" def temp = x.split(" ") log.info "S ...
- 使用jedis2.8.0连接redis
下载了最新的jedis客户端jedis2.8.0,在网上找了找jedis使用连接池的工具类,拿来发现都是低版本的jedis写法: returnResource(); returnBrokenResou ...
- Android系统编译与测试
1.Android系统分析 2.下载Android源代码(不包括Linux内核部分) 下载好了的Android_5.01.tar.gz,通过samba复制到ubuntu里,再解压之. 可以看到Andr ...
- jfinal框架教程
jfinal框架教程 下面通过一个小例子了解jfinal的结构和特点 1.建数据库(我用的是oracle数据库,其他的相对也差不多) -- Create table create table CLAS ...
- D3 data()
与datum()的区别 假设要绑定的数组为[3,6,9],那么我们希望第一个p元素绑定3,第二个绑定6,第三个绑定9.这种情况就需要使用data()函数,如果使用datum(),则会将数组本身绑定到各 ...
- 简明的sql优化
网上关于SQL优化的教程很多,但是比较杂乱.近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充. 这篇文章我花费了大量的时间查找资料.修改.排版,希望大家阅读之后,感觉 ...
- SqlCmd -Windows Cluster Model
前提条件 1存储lun 划分完毕并且挂载到其中一台机器上 2 需要加入群集的节点机器加入域完毕,并设置好心跳线 .加域部分可以参考 之前 Sqler Cmd 加域部分. 1检查Feature 更新 S ...