C# 匯出excel (NPOI)

  • 4566
  • 0
  • C#
  • 2019-03-20

透過NPOI 插鍵進行匯出excel

利用NPOI 匯出Excel 

首先直接放上程式碼,fileName主要是指我們放的檔案路徑在哪

並且xsswokbook 以及 sheet 初始化 


string fileName = @"C:\入庫單號 WI" + WI_NO + ".xlsx";
          
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = (XSSFSheet)workbook.CreateSheet("Sheet1");            

int count = 0;
//列
for (int i = 0; i < (Array.Count / 8); i++)
{
   XSSFRow row = (XSSFRow)sheet.CreateRow(i);

   for (int k = 0; k < 8; k++)
   {
      for (int j = count; j < WIUPB.Count; j++)
      {
         XSSFCell cell = (XSSFCell)row.CreateCell(j);
         sheet.GetRow(i).CreateCell(k).SetCellValue(WIUPB[j].ToString());
                       
      }
   }
         
FileStream file = new FileStream(fileName, FileMode.Create, System.IO.FileAccess.Write);//產生檔案
workbook.Write(file);
file.Close();

塞值之後 FileStream 為產生檔案 (FileMode.Create)

並且將workbook寫到file裡面即可完成。


本來我的程式碼是利用HSSFWorkbook 但今天突然試一試發現怎麼多個檔案要匯出時報錯呢!!

Invalid column index (256). Allowable column range for BIFF8 is (0..255) or ('A'..'IV') 错误的解决办法

查了網路資訊後才知道原來HSSF 是Office 2007 它指支援256列,如果你超過它就會報錯,因此改寫成XSSF 可以支援最多16384列

下次就不會找這麼久啦~~


參考資料:

1. http://www.cnblogs.com/jRoger/p/4602239.html