您的位置:首页 > 编程语言 > ASP

asp.net简单实现导出excel报表

2009-11-15 20:22 645 查看
关于导出excel报表,网上也是一搜一大把。整理一下,无非就是几种思路,有利用安装excel软件或插件的服务器直接生成,或者直接在客户端生成(通常都是利用excel软件或插件直接在浏览器生成)。反正万变不离其宗,离开excel插件,这个活你还真的干不了,由此你可以看到软件公司尤其是微软的强大。下面贴一个比较简单的导出excel报表的方法。在安装了office2003的机器上,通过ie浏览器可以成功生成excel,而且一直有人在使用。如果你在测试的时候发现这个根本无法使用,请注意,这个很可能和你的机器配置有关,别怀疑代码的正确性。下面就一个利用iBatis开发的例子来简单说明一下。
1、实体类

using System;
using System.Data;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using DotNet.Common.Util;
using IBatisNetDemo;
using IBatisNetDemo.Domain;

public partial class ExportExcelTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
List<string> listColumns = new List<string>();
listColumns.Add("ID");
listColumns.Add("姓");
listColumns.Add("名");
listColumns.Add("生日");
List<string> listProperties = new List<string>();
listProperties.Add("Id");
listProperties.Add("FirstName");
listProperties.Add("LastName");
listProperties.Add("BirthDate");

List<Person> listModels = new List<Person>();
Person person = new Person();
person.Id = 1;
person.FirstName = "Wong";
person.LastName = "Jeff";
person.BirthDate = DateTime.Now.AddYears(-26);
listModels.Add(person);
person = new Person();
person.Id = 2;
person.FirstName = "Zhao";
person.LastName = "Jeffery";
listModels.Add(person);
//导出excel
ExcelUtil.ExportExcel<Person>(Response, listColumns, listProperties, listModels);
}
}
}

好了,就写到这里。其实每个公司都有自己很成熟的内部的excel处理方式,这里贴的非常简陋,但是毋庸质疑,这是非常简单直接的方式。如果你觉得能用自己看着就拿去用吧,不要忘记笔者整理的功劳啊。
ps:调试的时候发现有时候会产生异常,但是excel竟然也生成了。google了一下,原来将response.End();改成 HttpContext.Current.ApplicationInstance.CompleteRequest();就不会有异常了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: