//新建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,弹窗提示下载保存(完整代码)的更多相关文章

  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. 输入输出参数 inout

    输入输出参数 inout 函数参数默认是常量.试图在函数体中更改参数值将会导致编译错误(compile-time error).这意味着你不能错误地更改参数值.如果你想要一个函数可以修改参数的值,并且 ...

  2. asp.net安装指令

    cd \ cd C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319aspnet_regiis.exe -i注册.NET4到IIS

  3. 最小子串覆盖 · Minimum Window Substring

    [抄题]: 给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串. 在答案的子串中的字母在目标字符串中是否需要具有相同的顺序? ——不需要. ...

  4. [Selenium]怎样验证页面是否有无变化

    验证方法:将两次的Dom结构进行对比 String beforeStr = (String) SeleniumUtil.getInnerHTML(page.getDriver(), page.getD ...

  5. Java API使用(不断更新中)

    实例1 BigInteger的构造函数public BigInteger (String val, int radix)的使用 上面的构造函数,val是各种进制的字符串,比如二进制的110,八进制的7 ...

  6. RocketMQ服务器监控误区

    请不要监控10912端口 case: result: 监控10912端口会导致HAService异常,新起线程,吃掉内存,无限次监控虚拟机将宕机! 时间上是直接因果关系. 监控10911 和 9876 ...

  7. swift -pop的简单动画

    //1.新建空文件  命名Podfile //2.写入 pod ‘pop’,’~>1.0’  保存 //3.打开终端,进入项目路径 执行pod install //4.新建桥接头文件 导入#im ...

  8. POJ 3977 Subset(折半枚举+二分)

    SubsetTime Limit: 30000MS        Memory Limit: 65536KTotal Submissions: 6754        Accepted: 1277 D ...

  9. [翻译] Writing Property Editors 编写属性编辑器

    Writing Property Editors 编写属性编辑器   When you select a component in the designer its properties are di ...

  10. 词频统计-part2

    看到这个问题为之一愣,这简单多了,在第一部分的基础上把那些存储结构删了,把排序算法删了,设置一个变量,遇到则加一,直到读到文件尾.最后输出单词出现次数. 程序比较简单也比较,下面就把程序贴出来: pa ...