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所在的路徑。導入接口中所用到類方法接口如下圖所示:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiQ3chVEa0V3bT9CX5RXa2Fmcn9CXwczLcVmds92czlGZvwVP9EUTDZ0aRJkSwk0LcxGbpZ2LcBDM08CXlpXazRnbvZ2LcRlMMVDT2EWNvwFdu9mZvwVPNZkUmJlVTZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zNxkjMyQTNxEDNyIDM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
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()再次編譯,則可以通過