asp.net利用Npoi导出Excel


今天搞了搞用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存的

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM