天天看點

C++ 操作Excel

C++可對Excel表精确進行某一行某一列的增加、修改、删除、查詢資料

Window7+VS2013+office2013(32位)、2010(64位)、2007(64位)2003(64位)+WPS2016(位)

1、 ODBC方式通路

2、 通過解析Excel表格檔案

3、 通過OLE/COM方式通路

2003版本office辦公軟體建立Excel表的字尾.xls 而以後的高版本建立表字尾為.xlsx。是用新的基于XML的壓縮檔案格式取代了其目前專有的預設檔案格式,在傳統的檔案名擴充名後面添加了字母x(即.docx取代.doc、.xlsx取代.xls,等等),使其占用空間更小,可以向下相容xls。

這樣造成以前通過ODBC方式通路和通過解析Excel表格檔案的方法代表無法解析高版本的xlsx檔案,是以選擇OLE/COM方式通路可以一勞永逸的解決所有的版本問題。**

1. 建立MFC工程

2. 配置工程,添加元件類接口

導入OLE/COM元件的接口的步驟為:項目->類向導->添加類->類型庫中的MFC類,先選擇要導入的元件所在的路徑,即Excel.exe所在的路徑。導入接口中所用到類方法接口如下圖所示:

C++ 操作Excel
C++ 操作Excel

3. 将各個導入的頭檔案“#import “C:\Program Files\Microsoft Office\Office12\EXCEL.EXE” no_namespace中部分注釋掉。在:#include <、afxdisp.h>加入上面7個頭檔案檔案

4.代碼實作

在對話框Dlg.h定義接口變量

對話框中拖拽兩個按鈕,分别命名為導入和導出

實作導入導出的功能

Demo實作對某一行某一列資料進行讀取、準确輸入某一行某一列

有錯誤error C2059輕按兩下error C2059,将VARIANT DialogBox()改成VARIANT _DialogBox()再次編譯,則可以通過

繼續閱讀