效果图:

代码:

Export2Excel.ashx

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

Export2Excel.ashx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.SessionState;
using System.IO;
using System.Data; namespace BLIC.SecurityCodeValidate.Web.Handler
{
/// <summary>
/// AdminLogin 的摘要说明
/// </summary>
public class Export2Excel : IHttpHandler, IRequiresSessionState
{ public void ProcessRequest(HttpContext context)
{ try
{
test1(context);
}
catch (Exception ex)
{
} //try
//{
// test1(context);
//}
//catch (Exception ex)
//{
// //context.Response.ContentType = "text/plain";
// context.Response.Write("导出失败:" + ex.Message);
//}
} public bool IsReusable
{
get
{
return false;
}
} private void test1(HttpContext context)
{
HttpResponse resp = System.Web.HttpContext.Current.Response;
resp.Charset = "utf-8";
resp.Clear();
string filename = "统计贴标报表_" + DateTime.Now.ToString("yyyyMMddHHmmss");
resp.AppendHeader("Content-Disposition", "attachment;filename=" + filename + ".xls");
resp.ContentEncoding = System.Text.Encoding.UTF8; resp.ContentType = "application/ms-excel";
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>";
resp.Write(style); resp.Write("<table class='table'><tr><th>姓名</th><th>出生年月</th><th>籍贯</th><th>毕业时间</th></tr>"); System.Data.DataTable dtSource = new System.Data.DataTable();
dtSource.TableName = "statistic";
dtSource.Columns.Add("第一列");
dtSource.Columns.Add("第二列");
dtSource.Columns.Add("第三列");
dtSource.Columns.Add("第四列"); System.Data.DataRow row = null;
row = dtSource.NewRow();
row[0] = "张三";
row[1] = "1987-09-09";
row[2] = "河北保定";
row[3] = "2008年毕业";
dtSource.Rows.Add(row); row = dtSource.NewRow();
row[0] = "李四";
row[1] = "1987-09-02";
row[2] = "湖北武汉";
row[3] = "2009年毕业";
dtSource.Rows.Add(row); row = dtSource.NewRow();
row[0] = "王五";
row[1] = "1987-09-01";
row[2] = "湖南湘潭";
row[3] = "2013年毕业";
dtSource.Rows.Add(row); foreach (DataRow tmpRow in dtSource.Rows)
{
resp.Write("<tr><td>" + tmpRow[0] + "</td>");
resp.Write("<td>" + tmpRow[1] + "</td>");
resp.Write("<td>" + tmpRow[2] + "</td>");
resp.Write("<td>" + tmpRow[3] + "</td>");
resp.Write("</tr>");
}
resp.Write("<table>"); resp.Flush();
resp.End();
} }
}

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

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

    ASP.NET导出数据到Excel  该方法只是把asp.net页面保存成html页面只是把后缀改为xlc不过excel可以读取,接下连我看看还有别的方式能导出数据,并利用模版生成. 下面是代码 新建 ...

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

    一直用动易平台的ASP做新闻发布网站,直到现在才接触导出数据到Excel的问题,目的在于公司要统计各部门的投稿量,要做这么个东西,实现起来是挺简单的,但是第一次做,还是费了一些功夫的,特此记录一下 主 ...

  3. 1.ASP.NET MVC使用EPPlus,导出数据到Excel中

    好久没写博客了,今天特地来更新一下,今天我们要学习的是如何导出数据到Excel文件中,这里我使用的是免费开源的Epplus组件. 源代码下载:https://github.com/caofangshe ...

  4. NPOI导出数据到Excel

    NPOI导出数据到Excel   前言 Asp.net操作Excel已经是老生长谈的事情了,可下面我说的这个NPOI操作Excel,应该是最好的方案了,没有之一,使用NPOI能够帮助开发者在没有安装微 ...

  5. 导出数据到Excel表格

    开发工具与关键技术:Visual Studio 和 ASP.NET.MVC,作者:陈鸿鹏撰写时间:2019年5月25日123下面是我们来学习的导出数据到Excel表格的总结首先在视图层写导出数据的点击 ...

  6. 导出数据到Excel --使用ExcelReport有感

    先看图,这是几个月前用NPOI写的导出数据到Excel,用了上百行代码,而且难控制,导出来也比较难看 excel打开的效果 下面是我用ExcelReport类库导出到Excel的操作 1.首先引用Ex ...

  7. 使用Open xml 操作Excel系列之二--从data table导出数据到Excel

    由于Excel中提供了透视表PivotTable,许多项目都使用它来作为数据分析报表. 在有些情况下,我们需要在Excel中设计好模板,包括数据源表,透视表等, 当数据导入到数据源表时,自动更新透视表 ...

  8. Dynamics CRM导出数据到Excel

    原创地址:http://www.cnblogs.com/jfzhu/p/4276212.html 转载请注明出处 Pivot Table是微软BI的一个重要工具,所以这里讲一下Dynamics CRM ...

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

    导出EXCEL方法总结 MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可: 优点:可设置丰富的EXC ...

随机推荐

  1. google chrome字体最小12px的问题

    解决Google浏览器不支持12px以下的字体大小的问题,有时设定了12PX,可在浏览器看时确不起作用 网络出现内核的浏览器有微软的Internet Explorer, Mozilla的Firefox ...

  2. Sql server 事务的两种用法

    事务(Transaction)是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位. 通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便 ...

  3. centos7/redhat7 将网卡名字改成eth样式的方法

    方法/步骤    1. 编辑 /etc/sysconfig/grub 找到“GRUB_CMDLINE_LINUX”这一行 

  4. BZOJ 1567: [JSOI2008]Blue Mary的战役地图( 二分答案 + hash )

    二分答案, 然后用哈希去判断... ------------------------------------------------------------------------- #include ...

  5. BZOJ 1664: [Usaco2006 Open]County Fair Events 参加节日庆祝( dp )

    先按时间排序( 开始结束都可以 ) , 然后 dp( i ) = max( dp( i ) , dp( j ) + 1 ) ( j < i && 节日 j 结束时间在节日 i 开 ...

  6. 解决虚拟内存不够导致Eclipse is not responding

    安装目录下eclipse.ini中: 修改参数至必要大小. e.g. -vmargs-Djava.net.preferIPv4Stack=true-Dosgi.requiredJavaVersion= ...

  7. Oracle 11g New 热补丁

    热补丁:概览 对于Oracle 实例上的bug 修复或诊断补丁程序,热补丁 可以执行以下操作: • 安装 • 启用 • 禁用 热补丁:概览 使用热补丁可以安装.启用和禁用 正在运行的 活动Oracle ...

  8. service and intentservice

    Service是Android中四大组件之一,在Android开发中起到非常重要的作用,先来看一下官方对Service的定义: A Service is an application componen ...

  9. Spring Boot gradle

    最近有写一个电子订单商务网站,使用JAVA8,SPRING,ANGULARJS对项目使用的技术和大家分享. 第一次写博客,哪有不对需要改正的请联系改正. 因为是项目是我给别人做的无法提供源码见谅,我尽 ...

  10. Android 的平台碎片化问题

    Android 的平台碎片化问题 看到篇不错的文章,转载过来. -------------------------------------- 与iOS开发相比,Android开发平添了不小的工作量,因 ...