zoukankan      html  css  js  c++  java
  • Aspose.Cell和NPOI生成Excel文件2

    NPOI还是比较好用的,引用dll程序集即可

    1创建workbook和工作流

    HSSFWorkbook workbook = new HSSFWorkbook();
    MemoryStream ms = new MemoryStream();

    2这里是一个多sheet的例子,可以通过循环一个个生成

     1 List<DataTable> listtable = new List<DataTable>();
     2 for(int t = 1; t < = listtable.Count();t++)
     3 {
     4      DataTable tempTable = listtable[t-1];
     5      //增加sheet,listname是一个List<string>作为表明
     6      HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet(listname[t-1]);    
     7      HSSFRow headerRow = (HSSFRow)sheet.CreateRow(0);
     8      foreach(DataColumn column in tempTable.Columns)
     9      {
    10           //创建列
    11           headerRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);
    12      }
    13      int rowIndex = 1;
    14      foreach(DataRow row in tempTable.Rows)
    15      {
    16           //创建行
    17           HSSFRow dataRow = (HSSFRow)sheet.CreateRow(rowIndex);   
    18           foreach(DataColumn column in tempTable.Columns)
    19           {
    20                dataRow.CreateCell(column.Ordinal).SetCellValue(row[column].ToString());
    21           }
    22           rowIndex++;
    23      }
    24 }        

    3工作中的sheet都创建好之后,写入流

    workbook.Write(ms);

    4最后返回给浏览器端

    byte[] strmByte = ms.ToArray();
    ms.Dispose();
    Response.ClearContent();
    Response.ContentEncoding =  System.Text.Encoding.UTF8;
    Response.ContentType = "application/octet-stream";
    Response.AddHeader("Content-Disposition","attachment;fileName="+"name.xlsx");
    Response.BinaryWrite(strmByte);
  • 相关阅读:
    java final修饰符
    java getClass()
    java color类简介
    JAVA本地方法详解,什么是JAVA本地方法?
    this 关键字
    main 静态方法 非静态方法
    Integer与int
    java创建一个对象时,内存中发生了什么
    java中静态变量在内存中的位置
    java使用new Date()和System.currentTimeMillis()获取当前时间戳
  • 原文地址:https://www.cnblogs.com/pocn/p/7098048.html
Copyright © 2011-2022 走看看