天天看點

C#儀器資料檔案解析-Excel檔案(xls、xlsx)

不少儀器工作站可以将資料導出為Excel檔案,包括97-2003版本的xls檔案和2007+的xlsx檔案。

采集Excel檔案相比采集pdf檔案更容易、程式更健壯,畢竟Excel中資料有明确的行、列的定義,利于資料解析。

Excel早期的xls檔案和後來的xlsx檔案的格式不一樣,xls是二進制特定格式檔案,xlsx是zip壓縮包,其中資料使用xml定義。雖然兩種檔案格式定義不同,但解析檔案資料可以通過中間件,是以隻要了解了Excel檔案的工作簿、sheet頁、行、列、單元格等概念即可,無需了解其檔案的詳細定義方式。

常用的采集Excel檔案資料的方式有:

1.通過OLE DB的方式,将Excel檔案作為資料庫進行查詢來擷取資料;

2.使用MS Excel應用程式來讀取Excel檔案資料;

3.使用WPS應用程式來讀取;

4.使用其他Office軟體來讀取;

5.使用MS Open XML來讀取;

6.使用NPOI元件讀取;

7.……

方式有很多,但各有優劣,比如MS Excel應用程式有版權的問題,WPS等應用程式即使免費也需要安裝,另外通過DCOM調用應用程式需要配置權限;

無需應用程式的方式,可以通過NPOI、MS Open XML等方式,使用XML讀取Excel的元件一般僅支援excel 2007+,畢竟該版本的Excel檔案是xml的;

但NPOI比較逆天,可以讀取xls和xlsx檔案,并且操作方式一緻。

以下代碼為打開Excel檔案,并讀取其sheet頁、行、單元格值:

FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
xssfWorkbook = new XSSFWorkbook(fileStream);
ISheet sheetAt = xssfWorkbook.GetSheetAt(num);
IRow row = sheetAt.GetRow(rownum);
ICell cell = row.Cells[index];
      

 

作者:馬洪彪 

C#儀器資料檔案解析-Excel檔案(xls、xlsx)

出處:http://www.cnblogs.com/mahongbiao/

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。