因為1.2.5不支援Office 2007的格式,所以去載了最新的 2.0版
提供了NPOI.SS這個介面讓我們去使用讀取2007&2003的媒介。
用法如下
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using NPOI.HSSF.UserModel;
public class ExcelExport
{
/// <summary>
/// 讀取Excel Sheet Name
/// </summary>
/// <param name="DataSource"></param>
/// <returns></returns>
public List<string> ReadSheetName(string DataSource)
{
try
{
List<string> result = new List<string>();
using (FileStream fs = new FileStream(DataSource, FileMode.Open))
{
IWorkbook wb;
if (DataSource.Contains(".xlsx"))
wb = new XSSFWorkbook(fs);
else
wb = new HSSFWorkbook(fs);
var sheets = new List<ISheet>();
for (int i = 0; i < wb.NumberOfSheets; i++)
sheets.Add(wb.GetSheetAt(i));
foreach (var sheet in sheets)
{
result.Add(sheet.SheetName);
}
}
return result;
}
catch (Exception)
{
return new List<string>();
}
}
}
根據使用者載入的檔案檔名決定初始化的物件是哪個,即可。
至於讀取Table的部分請參考黑暗大的文章進行改寫就可以了。
特別要注意一下,如果Excel裡面有格式是日期要特別處理,不然他預設抓字串出來的時間會變成12/11/13(2012/11/13)如不是在塞進Table處理就須在Table使用時處理
全站熱搜