今天搞了搞用asp.net导出Excel
这里用到了Npoi,需要的key在官网上下载下来用用.
protected void export_ServerClick(object sender, EventArgs e)
{
//添加dataGridView的数据
string sql = "select * from carinfo";
utils.DbHelper help = new utils.DbHelper();
DataTable tabele = help.ExecuteDataTable(sql);
this.GridView1.DataSource = tabele;
this.GridView1.DataBind();
//进行Excel生成创建Workbook创建操作
//创建workBook 不指定指定参数 表示创建一个新的工作本 也可以指定流
HSSFWorkbook workbook = new HSSFWorkbook();
//2.创建sheet 行
HSSFSheet sheet = workbook.CreateSheet("管理员");
//3.创建行
HSSFRow row = sheet.CreateRow(0);
//穿件列
HSSFCell cell1 = row.CreateCell(0);
cell1.SetCellValue("第一行第一列的值");
//设置行合并单元格
sheet.AddMergedRegion(new Region(0, 0, 0, 3));//从零行零列开始到零号零列结束
//设置行居中
HSSFCellStyle cellContenStyle = workbook.CreateCellStyle();//设置当前工作本的cell样式
cellContenStyle.Alignment=2;//2为居中
//将行样式赋给需要改变的样式
cell1.CellStyle = cellContenStyle;
//创建标题行
HSSFRow rowTitle = sheet.CreateRow(1);
HSSFCell cellTitle0 = rowTitle.CreateCell(0);
cellTitle0.SetCellValue("id");
HSSFCell cellTitle1 = rowTitle.CreateCell(1);
cellTitle1.SetCellValue("car_type");
HSSFCell cellTitle2 = rowTitle.CreateCell(2);
cellTitle2.SetCellValue("car_band");
HSSFCell cellTitle3 = rowTitle.CreateCell(3);
cellTitle3.SetCellValue("car_price");
HSSFCell cellTitle4 = rowTitle.CreateCell(4);
cellTitle4.SetCellValue("car_awards");
//遍历集合创建正文内容
int index = 1;
foreach (DataRow dataRow in tabele.Rows)
{
HSSFRow rowData = sheet.CreateRow(index++);
//创建单元格
HSSFCell cellData0 = rowData.CreateCell(0);
cellData0.SetCellValue(dataRow[0].ToString());
HSSFCell cellData1 = rowData.CreateCell(1);
cellData1.SetCellValue(dataRow["car_type"].ToString());
HSSFCell cellData2 = rowData.CreateCell(2);
cellData2.SetCellValue(dataRow["car_band"].ToString());
HSSFCell cellData3 = rowData.CreateCell(3);
cellData3.SetCellValue(dataRow["car_price"].ToString());
HSSFCell cellData4 = rowData.CreateCell(4);
cellData4.SetCellValue(dataRow["car_awards"].ToString());
}
using (FileStream stream = new FileStream(@"C:\Users\zxl\Desktop\zxl.xls",FileMode.Create)) {
workbook.Write(stream);
}
}
导出之后
感觉还不错.
这里数据是用DataTable存的