1. 程式人生 > >查找網上關於C++讀取Excel表格資料後的心得

查找網上關於C++讀取Excel表格資料後的心得

cst 批評 目錄 work 各路 網上 sse rate books

使用微軟提供的自帶COM組件來讀Excel

一、讀取Excel文件COM類的相關環境的搭建:

1、首先新建一個MFC對話框工程,可命名為ReadWriteExcel

2、在添加類選項中,

技術分享

選擇MFC From Typelib,如下圖:

3、再找到對應Office版本下的Excel.exe所在文件目錄,並打開Excel.exe,

C:\Program Files\Microsoft Office\Office15\EXCEL.EXE

4、將6個Interfaces中的接口添加到右邊的生成類Generated classes中去,

技術分享

5、完成後finish。在需要添加讀取Excel文件的代碼頂端包含圖中相關頭文件。

技術分享

將這6個文件的內容:#import "C:\\Program Files\\Microsoft Office\\Office15\\EXCEL.EXE" no_namespace 都註釋掉。留下Applicaiton中的這段內容即可。

二、使用已有的類及函數來讀取Excel文件

1、定義以下6個類。

CApplication ExcelApp;          

CWorkbooks books;            
CWorkbook book;             
CWorksheets sheets;
CWorksheet sheet;
CRange range;

2、創建Excel服務器,

ExcelApp.CreateDispatch(_T("Excel.Application")

通過 ExcelApp.get_Version() 函數來判斷本機安裝的office版本

3、得到工作簿容器 books.AttachDispatch(ExcelApp.get_Workbooks()),之後通過books.Open(...)函數來打開所選文件,其中需要CString bookpath這樣的文件路徑。

技術分享

4、再通過range.get_Value2()函數,將讀取的Excel文件轉為VARIANT類型,最後通過設置循環將數據讀出。

PS:本文僅個人通過學習他人博客隨筆寫的一些內容,其中有許多代碼是使用他人的成果。本文僅供個人留作日後參考使用。

附件中會有源代碼,內有更詳細的思路解釋。還有Excel文件寫入的代碼。歡迎各路大神批評指正。

鏈接: https://pan.baidu.com/s/1pLDdKxl 密碼: 8chv

查找網上關於C++讀取Excel表格資料後的心得