现在的位置: 首页 > 综合 > 正文

NPOI操作EXCEL 将Table中数据导出到Excel

2013年07月21日 ⁄ 综合 ⁄ 共 1123字 ⁄ 字号 评论关闭
using NPOI;
using NPOI.HPSF;
using NPOI.HSSF;
using NPOI.HSSF.UserModel;
using NPOI.HSSF.Util;
using NPOI.POIFS;
using NPOI.Util;
using NPOI.SS.UserModel;

        string strFilePath = System.AppDomain.CurrentDomain.BaseDirectory;// +DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls";//Debug地址
          /// <summary>
          /// NPOI简单Demo,快速入门代码
          /// </summary>
          /// <param name="dtSource"></param>
          /// <param name="strFileName"></param>
          /// <remarks>NPOI认为Excel的第一个单元格是:(0,0)</remarks>
          /// <Author>柳永法 http://www.yongfa365.com/ 2010-5-8 22:21:41</Author>
          public static void ExportEasy(DataTable dtSource, string strFileName)
          {
              HSSFWorkbook workbook = new HSSFWorkbook();
              Sheet sheet = workbook.CreateSheet();
              //填充表头
              Row dataRow = sheet.CreateRow(0);
              foreach (DataColumn column in dtSource.Columns)
              {
                  dataRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);
              }


              //填充内容
              for (int i = 0; i < dtSource.Rows.Count; i++)
              {
                  dataRow = sheet.CreateRow(i + 1);
                  for (int j = 0; j < dtSource.Columns.Count; j++)
                  {
                      dataRow.CreateCell(j).SetCellValue(dtSource.Rows[i][j].ToString());
                  }
              }


              //保存
              using (MemoryStream ms = new MemoryStream())
              {
                  using (FileStream fs = new FileStream(strFileName, FileMode.Create, FileAccess.Write))
                  {
                      workbook.Write(fs);
                  }
              }
              workbook.Dispose();
          }

抱歉!评论已关闭.