`
topcss
  • 浏览: 100938 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
文章分类
社区版块
存档分类
最新评论

Asp.net 导出Excel的方法!

阅读更多

   同事在项目遇到一个需求:多项批量检查数据并将错误数据用Excel的方式导出,以备查看。

   听起来很简单的,但遇到一个问题。当后台生成Excel时会产生Excel进程,并且这些Excel进程会越来越多。本地调试时可以回收这些进程,但远程访问时出现却不能自动GC和手动回收。

    之前考虑到可能是因为发布后权限不足。然后我们到网上查了资料,发现始终都无法回收和杀死这些Excel进程。于是,俺想到下面的方法。并测试通过!写此文章,仅作备忘。

 

 

1、新建一个文件:ExcelExport.aspx

 

        private void OutExcelStream(DataSet ds)
        {
            Response.Clear();
            Response.Buffer = true;
            Response.Charset = "GBK";
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + sqlflag + ".xls");
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("GBK");
            Response.ContentType = "application/ms-excel";
            System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);

            if (ds != null)
            {
                DataGrid dataGrid = new DataGrid();
                dataGrid.DataSource = ds.Tables[0].DefaultView;
                dataGrid.DataBind();
                dataGrid.RenderControl(oHtmlTextWriter);
            }

            Response.Output.Write(oStringWriter.ToString());
            Response.Flush();
            Response.End();
        }

 

 在Page_Load方法中添加

 

            string SessionValue = String.Empty;
            if (Request.Params["sql"] != null)
            {
                SessionValue=Request.Params["sql"].ToString();//得到Session
                DataSet ds = (DataSet)Session[SessionValue];
                OutExcelStream(ds);//保存该Session的对象
                Session.Remove(SessionValue);//回收该Session
            }

 

 

2、在检查数据的代码里面,把查出来的错误数据DataSet保存到Session中(Session["xxx"]=DataSetObject;)。并将xxx返回到客户端。

 

3、但客户端点击按钮时,打开ExcelExport.aspx,并传入session的值(Response.Redirect("ExcelExport.aspx?sql=a0001");)。

 

0
4
分享到:
评论

相关推荐

    asp.net导出excel(带图片)

    ### 知识点一:ASP.NET 中导出 Excel 文件的基本流程 1. **创建 Excel 工作簿**: - 使用 `Microsoft.Office.Interop.Excel` 命名空间中的类来创建一个 Excel 工作簿对象。 - 示例代码片段中通过 `new Microsoft....

    asp.net里导出excel表方法汇总

    ### ASP.NET 中导出 Excel 表的方法汇总 在 ASP.NET 应用程序中,导出数据到 Excel 是一个常见的需求。下面将详细介绍 ASP.NET 中几种常见的导出 Excel 的方法及其实现原理。 #### 方法一:使用 DataSet 直接生成 ...

    asp.net 导出excel demo

    本示例"asp.net 导出excel demo"主要探讨的是如何在不依赖Microsoft Office的情况下,生成Excel 97-2003格式的文件,这种格式也称为XLS文件,是Excel早期版本支持的通用格式,兼容性广泛。 在ASP.NET中实现这个功能...

    asp.net 导出数据与图片到excel

    在.NET框架中,ASP.NET是一...综上所述,ASP.NET导出数据和图片到Excel涉及到的技术和注意事项广泛,需要综合运用编程技巧和库来实现高效、稳定且安全的导出功能。在实际开发中,应根据项目需求和环境选择合适的方法。

    asp.net导出EXCEL

    在ASP.NET中,导出Excel是一项常见的需求,用于将网页上的数据转化为用户可下载的Excel文件。这通常涉及到从数据库或其他数据源获取信息,并将其格式化为Excel表格。以下是一些关于如何在ASP.NET中实现Excel导出的...

    基于asp.net导出Excel文本

    "基于asp.net导出Excel文本"这个主题涉及到将数据从数据库(通常是DataTable类型)转换为Excel格式,以便用户可以下载、查看或者进一步分析。下面将详细介绍这个过程涉及的关键知识点。 1. **DataTable对象**:在...

    ASP.NET页面数据导出excel

    本文将详细介绍四种从ASP.NET页面导出数据到Excel的方法。 方法一: 这种方法利用了ASP.NET的Response对象,将DataGrid或GridView等控件的数据直接输出为HTML格式,然后设置Content-Type为"application/vnd.ms-...

    ASP.NET导出Excel控件(示例源码)

    ASP.NET是一种基于.NET Framework的服务器端编程模型,...通过学习和理解这段代码,你可以快速掌握ASP.NET导出Excel的核心技术,并在自己的项目中应用。记得在实际开发中根据具体需求进行调整,以满足不同的业务场景。

    Asp.net 导出Excel文件总结(导出csv、Office COM组建、Jet OLEDB、NPOI)

    在Asp.net开发中,有时候我们需要将数据导出到Excel文件以便用户下载或者进行进一步的数据处理。本篇文章将总结四种常见的导出...通过实践,开发者可以更好地掌握在Asp.net中导出Excel文件的技巧,提高项目开发效率。

    asp.net 导出Excel 报表基类

    asp.net 导出excel报表,只需传入向方法参数即可,配置自己可根据文档自行配置,方便好用。

    ASP.NET导出Excel乱码的终极解决方案

    ### ASP.NET导出Excel乱码的原因 在深入探讨解决方案之前,我们先来了解一下导致乱码现象背后的原因。当我们在ASP.NET应用中尝试将数据(通常来自数据库)写入Excel文件时,涉及到多个编码环节:源数据的编码、HTTP...

    C#,asp.net 简单明了的导出Excel! 只要几行代码

    C#,asp.net 简单明了的导出Excel! 只要几行代码,只要引用到一个类,即可导出你要导出的数据,不用用代码一行行编译导出excel格式,我这里都帮你封装好了,只要你链接数据库,读出表,导出excel,就又你要的数据了...

    asp.net导出excel(含源码)

    在ASP.NET开发中,导出Excel是一项常见的需求,主要用于数据的导出与分析。本教程将探讨如何在ASP.NET环境中实现Excel的导出、导入功能,并涉及到数据安全性的DES加密和解密技术。 首先,我们要了解ASP.NET的基本...

    asp.net导出Excel大全7种方法

    本文将详细介绍标题"asp.net导出Excel大全7种方法"中的七种不同方法,以便开发者根据实际需求选择合适的技术路径。 1. **Response.Write与HTML表格** 这是最基础的方法,通过在服务器端生成HTML表格,然后设置HTTP...

    asp.net 导出EXCEL 类

    在ASP.NET中,导出数据到Excel是一种常见的需求,尤其在数据分析、报表生成以及数据共享等方面。本知识点主要讲解如何使用asp.net实现从网页(如GridView、Div或Table)将数据导出为Excel文件。 首先,我们需要理解...

    ASP.NET 分Sheet导出EXCEL 2003 导出引用dll

    在ASP.NET开发中,有时我们需要将大量的数据导出到Excel文件中,以便用户可以方便地进行数据管理和分析。特别是当数据量大到一个工作表无法容纳时,分Sheet导出就显得尤为重要。本文将深入探讨如何在ASP.NET环境中...

    ASP.net 导出Excel和word

    ASP.net 导出Excel和word 不支持客户端程序

    .net导出excel通用方法

    在.NET开发中,导出Excel是一项常见的需求,特别是在Web应用程序如ASP.NET中,我们需要将数据库中的数据导出为用户友好的格式,Excel是最常见的选择。本文将深入探讨如何使用C#编程实现从数据库中读取数据并将其导出...

    ASP.NET导出excel

    ASP.NET导出Excel是Web应用程序开发中的一个常见需求,它允许用户从网页上直接下载数据到Excel文件,便于数据分析和存储。在.NET 2008和SQL Server 2000的环境下,开发者可以利用ASP.NET框架提供的功能来实现这一...

    asp.net+Ajax实现Excel文件导出

    本篇文章将详细讲解如何利用ASP.NET与Ajax技术实现在Web应用中导出Excel文件。 首先,ASP.NET是Microsoft开发的一个用于构建动态网站、Web应用程序和服务的框架。它基于.NET Framework,提供了丰富的服务器控件、...

Global site tag (gtag.js) - Google Analytics