C#儀器數(shù)據(jù)文件解析Excel文件的方法淺析(xls、xlsx)
前言
大家都知道,不少儀器工作站可xls文件和2007+的xl以將數(shù)據(jù)導(dǎo)出為Excel文件,包括97-2003版本的sx文件。
采集Excel文件相比采集pdf文件更容易、程序更健壯,畢竟Excel中數(shù)據(jù)有明確的行、列的定義,利于數(shù)據(jù)解析。
Excel早期的xls文件和后來的xlsx文件的格式不一樣,xls是二進(jìn)制特定格式文件,xlsx是zip壓縮包,其中數(shù)據(jù)使用xml定義。雖然兩種文件格式定義不同,但解析文件數(shù)據(jù)可以通過中間件,因此只要理解了Excel文件的工作簿、sheet頁、行、列、單元格等概念即可,無需了解其文件的詳細(xì)定義方式。
常用的采集Excel文件數(shù)據(jù)的方式有:
1.通過OLE DB的方式,將Excel文件作為數(shù)據(jù)庫進(jìn)行查詢來獲取數(shù)據(jù);
2.使用MS Excel應(yīng)用程序來讀取Excel文件數(shù)據(jù);
3.使用WPS應(yīng)用程序來讀取;
4.使用其他Office軟件來讀??;
5.使用MS Open XML來讀?。?/p>
6.使用NPOI組件讀??;
7.……
方式有很多,但各有優(yōu)劣,比如MS Excel應(yīng)用程序有版權(quán)的問題,WPS等應(yīng)用程序即使免費(fèi)也需要安裝,另外通過DCOM調(diào)用應(yīng)用程序需要配置權(quán)限;
無需應(yīng)用程序的方式,可以通過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];
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)我們的支持。
上一篇:C# 獲取硬件參數(shù)的實(shí)現(xiàn)方法
欄 目:C#教程
下一篇:C# 判斷時(shí)間段是否相交的實(shí)現(xiàn)方法
本文標(biāo)題:C#儀器數(shù)據(jù)文件解析Excel文件的方法淺析(xls、xlsx)
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/5436.html
您可能感興趣的文章
- 01-10C#實(shí)現(xiàn)多線程下載文件的方法
- 01-10C#文件斷點(diǎn)續(xù)傳實(shí)現(xiàn)方法
- 01-10C#實(shí)現(xiàn)多線程寫入同一個(gè)文件的方法
- 01-10Extjs4如何處理后臺(tái)json數(shù)據(jù)中日期和時(shí)間
- 01-10C#編程獲取資源文件中圖片的方法
- 01-10C#實(shí)現(xiàn)讀取被進(jìn)程占用的文件實(shí)現(xiàn)方法
- 01-10C#異步綁定數(shù)據(jù)實(shí)現(xiàn)方法
- 01-10C#動(dòng)態(tài)創(chuàng)建Access數(shù)據(jù)庫及密碼的方法
- 01-10C#刪除只讀文件或文件夾(解決File.Delete無法刪除文件)
- 01-10C#使用ADO.Net部件來訪問Access數(shù)據(jù)庫的方法


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當(dāng)前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實(shí)現(xiàn)txt定位指定行完整實(shí)例
- 01-10WinForm實(shí)現(xiàn)仿視頻播放器左下角滾動(dòng)新
- 01-10C#停止線程的方法
- 01-10C#實(shí)現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實(shí)現(xiàn)讀取注冊(cè)表監(jiān)控當(dāng)前操作系統(tǒng)已
隨機(jī)閱讀
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-10delphi制作wav文件的方法
- 04-02jquery與jsp,用jquery
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什