[C#] 透過NPOI 讀取 Excel *.xls 檔案中的值
2014-05-22
上一篇,我們介紹產出跨欄的Excel 檔案,這一篇我們來說一下,如何透過NPOI 讀取Excel 中的值
首先介紹一下今天的xls 檔案,長這副德性
其中就如圖說的,有兩筆資料,但是我們要如何把這Excel 透過 NPOI 讀取出來呢?
直接看Code :
HSSFWorkbook workbook;
//讀取專案內中的sample.xls 的excel 檔案
using (FileStream file = new FileStream(AppDomain.CurrentDomain.BaseDirectory + "sample.xls", FileMode.Open, FileAccess.Read))
{
workbook = new HSSFWorkbook(file);
}
//讀取Sheet1 工作表
var sheet = workbook.GetSheet("Sheet1");
for (int row = 0; row <= sheet.LastRowNum; row++)
{
if (sheet.GetRow(row) != null) //null is when the row only contains empty cells
{
foreach (var c in sheet.GetRow(row).Cells)
{
//如果是數字型 就要取 NumericCellValue 這屬性的值
if(c.CellType==CellType.NUMERIC)
Response.Write(c.NumericCellValue.ToString("#"));
//如果是字串型 就要取 StringCellValue 這屬性的值
if(c.CellType==CellType.STRING)
Response.Write(c.StringCellValue);
//每個欄中間加上逗點
Response.Write(",");
}
//每一行補上換行
Response.Write("<br />");
}
}
其中比較重要的部分,就是你得判斷,每一個CELL的 CellType 如果是數字就要讀數字的Property,如果是字串就是要讀取字串的 Property
範例下載: