asp.net DataTable 导出,导出 excel , NPOI 使用方法
简单应用,主要是可以实现我们想要的简单效果,呵呵
需要引入dll,可以在官网下载,也可在下面下载
原文地址:http://sh2015yao.iteye.com/blog/773872
//导出按钮事件
protected void btn_Daochu_Click(object sender, EventArgs e)
{
DataTable dt = .....("select * from table")
NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
NPOI.SS.UserModel.ISheet sheet = book.CreateSheet("test_01");//创建表</code>
NPOI.SS.UserModel.IRow row = sheet.CreateRow(0);//行
for (int i = 0; i < dt.Columns.Count; i++)
{
sheet.SetColumnWidth(i, 50 * 256); //设置列宽,50个字符宽度。宽度参数为1/256,故乘以256
string[] name = { "时间", "会员代码", "会员名称", "手机", "地址", "邮箱", "邮编", "旺旺", "收件人", "金额", "省", "市", "区","店铺" }; //将导出Excel的第一行更改成中文,可随取名
row.CreateCell(i).SetCellValue(dt.Columns[i].ColumnName=name[i]);
}
for (int i = 0; i < dt.Rows.Count; i++)
{
NPOI.SS.UserModel.IRow row2 = sheet.CreateRow(i + 1);
for (int j = 0; j < dt.Columns.Count; j++)
row2.CreateCell(j).SetCellValue(dt.Rows[i][j].ToString());
}
//写入到客户端
System.IO.MemoryStream ms = new System.IO.MemoryStream();
book.Write(ms);
Response.AddHeader("Content-Disposition", string.Format("attachment; filename=Excel.xls"));
Response.BinaryWrite(ms.ToArray());
book = null;
ms.Close();
ms.Dispose();
}