NPOI:
http://npoi.codeplex.com/
<!--aspx-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<a href="DownloadExcel1.ashx">导出用户数据到Excel</a>
</div>
</form>
</body>
</html>
//DownloadExcel1.ashx/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using NPOI.HSSF.UserModel; //!
using NPOI.SS.UserModel; //!
using System.Data.SqlClient;
using System.Data;
namespace 导出Excel
{
/// <summary>
/// DownloadExcel1 的摘要说明
/// </summary>
public class DownloadExcel1 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "application/x-excel";
string filename = HttpUtility.UrlEncode("用户数据.xls");
context.Response.AddHeader("Content-Disposition", "attachment:filename=" + filename);//加报文头.
HSSFWorkbook workbook = new HSSFWorkbook(); //using NPOI.HSSF.UserModel;
Sheet sheet = workbook.CreateSheet(); //using NPOI.SS.UserModel; Sheet,Row之类....
SqlConnection conn = new SqlConnection(@"DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\UserDB.mdf;Integrated Security=True;User Instance=True");
conn.Open();
IDbCommand cmd = conn.CreateCommand();
cmd.CommandText = "select * from T_Users";
IDataReader reader = cmd.ExecuteReader();
int rownum = 0;
while (reader.Read())
{
string usn = reader.GetString(reader.GetOrdinal("UserName"));
string pwd = reader.GetString(reader.GetOrdinal("Password"));
Row row = sheet.CreateRow(rownum);
row.CreateCell(0, CellType.STRING).SetCellValue(usn);
row.CreateCell(1, CellType.STRING).SetCellValue(pwd);
rownum++;
}
reader.Dispose();
cmd.Dispose();
conn.Dispose();
workbook.Write(context.Response.OutputStream);//写到流中
}
public bool IsReusable
{
get
{
return false;
}
}
}
}