asp.net 通过 Handler 导出数据至excel (让用户下载)

效果图:

代码:

Export2Excel.ashx

1 <%@ WebHandler Language="C#" CodeBehind="Export2Excel.ashx.cs" Class="BLIC.SecurityCodeValidate.Web.Handler.Export2Excel" %>

Export2Excel.ashx.cs

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Web;
  5 using System.Web.SessionState;
  6 using System.IO;
  7 using System.Data;
  8
  9 namespace BLIC.SecurityCodeValidate.Web.Handler
 10 {
 11     /// <summary>
 12     /// AdminLogin 的摘要说明
 13     /// </summary>
 14     public class Export2Excel : IHttpHandler, IRequiresSessionState
 15     {
 16
 17         public void ProcessRequest(HttpContext context)
 18         {
 19
 20
 21             try
 22             {
 23                 test1(context);
 24             }
 25             catch (Exception ex)
 26             {
 27             }
 28
 29             //try
 30             //{
 31             //    test1(context);
 32             //}
 33             //catch (Exception ex)
 34             //{
 35             //    //context.Response.ContentType = "text/plain";
 36             //    context.Response.Write("导出失败:" + ex.Message);
 37             //}
 38         }
 39
 40         public bool IsReusable
 41         {
 42             get
 43             {
 44                 return false;
 45             }
 46         }
 47
 48         private void test1(HttpContext context)
 49         {
 50             HttpResponse resp = System.Web.HttpContext.Current.Response;
 51             resp.Charset = "utf-8";
 52             resp.Clear();
 53             string filename = "统计贴标报表_" + DateTime.Now.ToString("yyyyMMddHHmmss");
 54             resp.AppendHeader("Content-Disposition", "attachment;filename=" + filename + ".xls");
 55             resp.ContentEncoding = System.Text.Encoding.UTF8;
 56
 57             resp.ContentType = "application/ms-excel";
 58             string style = "<meta http-equiv=\"content-type\" content=\"application/ms-excel; charset=utf-8\"/>" + "<style> .table{ font: 9pt Tahoma, Verdana; color: #000000; text-align:center;  background-color:#8ECBE8;  }.table td{text-align:center;height:21px;background-color:#EFF6FF;}.table th{ font: 9pt Tahoma, Verdana; color: #000000; font-weight: bold; background-color: #8ECBEA; height:25px;  text-align:center; padding-left:10px;}</style>";
 59             resp.Write(style);
 60
 61             resp.Write("<table class=‘table‘><tr><th>姓名</th><th>出生年月</th><th>籍贯</th><th>毕业时间</th></tr>");
 62
 63             System.Data.DataTable dtSource = new System.Data.DataTable();
 64             dtSource.TableName = "statistic";
 65             dtSource.Columns.Add("第一列");
 66             dtSource.Columns.Add("第二列");
 67             dtSource.Columns.Add("第三列");
 68             dtSource.Columns.Add("第四列");
 69
 70             System.Data.DataRow row = null;
 71             row = dtSource.NewRow();
 72             row[0] = "张三";
 73             row[1] = "1987-09-09";
 74             row[2] = "河北保定";
 75             row[3] = "2008年毕业";
 76             dtSource.Rows.Add(row);
 77
 78             row = dtSource.NewRow();
 79             row[0] = "李四";
 80             row[1] = "1987-09-02";
 81             row[2] = "湖北武汉";
 82             row[3] = "2009年毕业";
 83             dtSource.Rows.Add(row);
 84
 85             row = dtSource.NewRow();
 86             row[0] = "王五";
 87             row[1] = "1987-09-01";
 88             row[2] = "湖南湘潭";
 89             row[3] = "2013年毕业";
 90             dtSource.Rows.Add(row);
 91
 92             foreach (DataRow tmpRow in dtSource.Rows)
 93             {
 94                 resp.Write("<tr><td>" + tmpRow[0] + "</td>");
 95                 resp.Write("<td>" + tmpRow[1] + "</td>");
 96                 resp.Write("<td>" + tmpRow[2] + "</td>");
 97                 resp.Write("<td>" + tmpRow[3] + "</td>");
 98                 resp.Write("</tr>");
 99             }
100             resp.Write("<table>");
101
102             resp.Flush();
103             resp.End();
104         }
105
106     }
107 }

Js部分内容

1 $("#Excel").bind(‘click‘, function () {
2                 var url = "AjaxHandler/RadioFamilyDayNumber.ashx?Action=Excel";
3                 window.location.href = url;//导出Excel
4             })
时间: 2024-08-09 02:54:44

asp.net 通过 Handler 导出数据至excel (让用户下载)的相关文章

asp.net使用MVC4框架基于NPOI做导出数据到Excel表

NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. 使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写.NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作.使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 WORD/EXCEL 文档进行读写.NPOI是构建在POI 3.x版本

ASP.NET导出数据到Excel 实例介绍

ASP.NET导出数据到Excel  该方法只是把asp.net页面保存成html页面只是把后缀改为xlc不过excel可以读取,接下连我看看还有别的方式能导出数据,并利用模版生成. 下面是代码 新建一个asp.ne的tweb应用程序把代码粘贴进去就好了 html页面代码 <%@ Page language="c#" Codebehind="OutExcel.aspx.cs" AutoEventWireup="false" Inherits

ASP导出数据到excel遇到的一些问题

一直用动易平台的ASP做新闻发布网站,直到现在才接触导出数据到Excel的问题,目的在于公司要统计各部门的投稿量,要做这么个东西,实现起来是挺简单的,但是第一次做,还是费了一些功夫的,特此记录一下 主要代码如下: 写查询字符串 rsAll为查询字符串 rsAll.open sqlAll,conn,1,3 Set xlApplication =server.CreateObject( "Excel.Application") '调用excel对象 xlApplication.Visibl

php导出数据到excel,防止身份证等数字字符格式变成科学计数的方-------缺点,必须使用table tr td

php导出数据到excel,防止身份证等数字字符格式变成科学计数的方 时间:2012-08-17 13:50来源:未知 作者:硅峰网络-红豆 点击:219次 在网上查了很多资料知道解决办法大概有两个:一是在身份证字段前加个英文单引号,二是设置Excel的格式为文本格式. 我试用过第一种确实可以显示,但是有个'号在那里感觉确实不是很好,虽然听说不影响,但是需要用户点击那个单元格那个单引号才消失,并且在该 在网上查了很多资料知道解决办法大概有两个:一是在身份证字段前加个英文单引号,二是设置Excel

NPOI导出数据到Excel

NPOI导出数据到Excel 前言 Asp.net操作Excel已经是老生长谈的事情了,可下面我说的这个NPOI操作Excel,应该是最好的方案了,没有之一,使用NPOI能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等.NPOI是构建在POI 3.x版本之上的,它可以在没有安装Office的情况下对Word/Excel文档进行读写操作. 方法 先去官网:http://npoi.codeplex.com/下载需要

导出数据到Excel表格

开发工具与关键技术:Visual Studio 和 ASP.NET.MVC,作者:陈鸿鹏撰写时间:2019年5月25日123下面是我们来学习的导出数据到Excel表格的总结首先在视图层写导出数据的点击事件function 自定义点击事件名(){//然后这里获取当前表格数据的筛选条件var 自定义下拉框名 = $("#下拉框id “).val();//后面根据你的条件数依次写……var 自定义文本框名 = $(”#文本框id ").val(); //然后这里写判断它是否为空 if (自定

MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult

MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult 导出EXCEL方法总结:MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可:优点:可设置丰富的EXCEL格式,缺点:需要依赖EXCEL组件,且EXCEL进程在服务器中无法及时关闭,以及服务器上会存留大量的不必要的XLS文件: 2.设置输出头为:application/ms-excel,再输出拼接的HTM

Dynamics CRM导出数据到Excel

原创地址:http://www.cnblogs.com/jfzhu/p/4276212.html 转载请注明出处 Pivot Table是微软BI的一个重要工具,所以这里讲一下Dynamics CRM将数据导出到Excel的功能. (一)导出数据到Excel的三种类型 下图中点击红框内的按钮EXPORT TO EXCEL,会弹出三个选项 第一个是一个静态工作表,将当前页面内的数据导出到一张表内.该数据是静态的,也就是说CRM里的数据发生改变,工作表的数据不会发生相应修改.如果勾选了”Make t

PHP导出数据到Excel

PHP导出数据到Excel 在Web开发中经常需要将一些数据导入到Excel表格中,比如需要导出符合条件的用户数据,导出项包括姓名.性别.***号.联系方式等等.那么问题来了,在导出的数据中如果出现比较长的数值类型的项时,默认按科学计数法表示,比如***号这显然不是我们需要的,那么我们怎么做才能让数据按我们要求的格式显示呢? 查到一些相关资料,摘抄如下: 首先,我们了解一下excel从web页面上导出的原理.当我们把这些数据发送到客户端时,我们想让客户端程序(浏览器)以excel的格式读取它,所