usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Data;usingSystem.Data.SqlClient;usingNPOI.HSSF.UserModel;namespaceExportToExcelWeb
{//ExportToExcel 的摘要说明///publicclassExportToExcel : IHttpHandler
{publicvoidProcessRequest(HttpContext context)
{
context.Response.ContentType="application/x-excel";stringfileName=HttpUtility.UrlEncode("数据库文备份.xls");
context.Response.AddHeader("Content-Disposition","attachment; fileName="+fileName);//添加http协议报文;HSSFWorkbook workbook=newHSSFWorkbook();//创建一个xls;HSSFSheet sheet=workbook.CreateSheet();//创建一个Sheet页stringconnectString=@"server=localhost\sql2008;database=MyBlog; uid=sa; pwd=sql2008";
SqlConnection connection=newSqlConnection(connectString);
connection.Open();using(IDbCommand cmd=connection.CreateCommand())//接口编徎;{
cmd.CommandText="select * from Users";using(IDataReader reader=cmd.ExecuteReader())
{introwsNum=0;//行号while(reader.Read())
{//根据字段名找出IDstringLoginId=reader.GetString(reader.GetOrdinal("LoginId"));stringLoginPwd=reader.GetString(reader.GetOrdinal("LoginPwd"));stringName=reader.GetString(reader.GetOrdinal("Name"));stringQQ=reader.GetString(reader.GetOrdinal("QQ"));stringMail=reader.GetString(reader.GetOrdinal("Mail"));/******************以上代码对应数据库表中的字段*********************/HSSFRow row=sheet.CreateRow(rowsNum);
row.CreateCell(0, HSSFCell.CELL_TYPE_STRING).SetCellValue(LoginId);
row.CreateCell(1, HSSFCell.CELL_TYPE_STRING).SetCellValue(LoginPwd);
row.CreateCell(2, HSSFCell.CELL_TYPE_STRING).SetCellValue(Name);
row.CreateCell(3, HSSFCell.CELL_TYPE_STRING).SetCellValue(QQ);
row.CreateCell(4, HSSFCell.CELL_TYPE_STRING).SetCellValue(Mail);/******************以上代码对应Excel文件的列************************/rowsNum++;
}
}
}
workbook.Write(context.Response.OutputStream);//输出到流中}publicboolIsReusable
{get{returnfalse;
}
}
}
}