最近由於工作需要,不得不操作Excel,包括基本的數據輸入輸出、字體設置、顏色設置、單元格的合併、填充色的設置,當然還包括圖表的生成以及漸近線的操作等。折騰了許久,項目終於完成了^_^。現在將學習操作Excel的點點滴滴記錄下來和大家一同分享,也作爲自己的一次總結。
1、Excel的對象模型(有人稱其爲層次結構)
打開一個Excel工作表,點擊“工具”->“宏”->“Visual Basic 編輯器”選項打開VB的編輯器,打開幫助文檔,裏面“Microsoft Excel Visual Basic 參考”下的“Microsoft Excel 對象模型”展示了完整的Excel的層次結構,是不是有點類似於MFC的繼承圖表啊?利用幫助文檔我們可以找到一些需要的知識,下面介紹一些類:
_Application:表示整個的Excel應用程序,包含一個工作簿集合
Workbooks:工作簿集合,包含N個工作簿(Workbook)
_Workbook:工作簿,包含一個工作表(sheets)集合
Worksheets:工作表集合,包含N個工作表
_Worksheet:工作表,也就是我們在Excel中看到的Sheet1、Sheet2、Sheet3,它是我們操作Excel的基本單位
Range:這是單元格的集合,我們知道Excel是由一個個的單元格組成的,通過Range來操作單元格
Font:用於設置單元格的字體、顏色、字號、粗體設置
Interior:設置底色
Boards:設置區域內所有單元格的邊框,如果要設置一組區域的外邊框的話用Rang->BorderAround設置
下面用一個具體的例子來說明怎麼通過MFC來操作Excel
2、Excel庫的插入
在我們MFC的工程中,按Ctrl+W打開MFC類嚮導對話框,點擊“Add Class...”->“From a type Library...”,找到你所使用的excel類型庫,我使用的在目錄C:/Program Files/Microsoft Office/OFFICE11下的“EXCEL.EXE”文件,查找時文件類型選“All Files”,然後添加我們所需要的類,通常以上列舉的前6類是必須的,其它的需要時再添加。我不認爲全部添加是一種好的做法,一個我覺得很亂,另外生成的excel.cpp文件會很大。我建議瀏覽一遍這些類,這樣當你做些操作時可以更清楚的知道需要添加哪些類。添加完需要的類後,我們就可以來做一些基本的操作了。
3、Com支持庫的初始化
通常在App的InitInstance()裏面加入初始化和關閉COM庫的操作,在DoModal()調用之前加入初始化的代碼:
在return之前加入CoUninitialize(); 關閉CON庫。
4、代碼演示一些基本的操作
首先別忘了包含頭文件“excel.h”,若用到_variant_t()時,需要包含頭文件“comdef.h”和“comutil.h”,否則會出現錯誤:
“error C2065: '_variant_t' : undeclared identifier”。
下面的代碼包括了一些基本的操作:
上面就是一些對於Excel的基本操作,如果有什麼問題希望大家能夠指出!