VCMFC中如何將數據導入excel表格_第1頁
VCMFC中如何將數據導入excel表格_第2頁
VCMFC中如何將數據導入excel表格_第3頁
VCMFC中如何將數據導入excel表格_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、MFC中如何將數據導入excel表格呢?只要完成以下操作即可。在BOOLCExcelTestApp:lnitlnstance(中,dlg.DoModal();之前增加代碼:if(CoInitialize(NULL)!=0)AfxMessageBox(初始化COM支持庫失敗!);exit(1);在returnFALSE;語句前,加入:CoUninitialize();為你的project添加類,選擇AddClass-Fromatypelibrary,選擇D:ProgramFilesMicrosoftOfficeofficeExcel9.OLB(其中D:ProgramFilesMicrosoftO

2、ffice是本機上MicrosoftOffice2000的安裝目錄,可根據個人機器上的實際安裝目錄修改)。之后把里面所有的類都加入(就是點那個向右的箭頭),把每個新類的頭文件都統一改成Excel.h。在你的XXXDlg.cpp文件的頭部,#includeXXXDlg.h語句之下,增力口:#includecomdef.h#includeExcel.h在你的Debug文件夾或Release文件夾里新建一個excel空白文件,名字假設為Template.xls假設你是通過點擊某一菜單項來實現將內容導入excel表格的,那么首先為該菜單項添加事件函數(AddEventHandler),比如:OnRun

3、excel;在該函數中添加以下代碼:/用m_ExlApp對象創(chuàng)建Excel2003進程if(!m_ExlApp.CreateDispatch(Excel.Application,NULL)AfxMessageBox(創(chuàng)建Excel服務失敗!);return;/設置為可見m_ExlApp.SetVisible(TRUE);/下面得到應用程序所在的路徑/CStringtheAppPath,theAppName;charPathMAX_PATH;GetModuleFileName(NULL,Path,MAX_PATH);得到應用程序的全路徑theAppPath=(CString)Path;theAp

4、pName=AfxGetApp()-m_pszAppName;/應用程序名稱theAppName+=.exe;/把最后的文件名去掉intlength1,length2;length1=theAppPath.GetLength();length2=theAppName.GetLength();theAppPath.Delete(length1-length2,length2);/CStringTempPath=;TempPath=theAppPath+Template.xls;EXCEL模板的路徑m_ExlBooks.AttachDispatch(m_ExlApp.GetWorkbooks(),

5、TRUE);m_ExlBook.AttachDispatch(m_ExlBooks.Add(_variant_t)TempPath),TRUE);/加載EXCEL模板m_ExlSheets.AttachDispatch(m_ExlBook.GetSheets(),TRUE);加載Sheet頁面添加新的Sheet頁面m_ExlSheets.Add(vtMissing,vtMissing,_variant_t(long)1),vtMissing);/刪除第二個Sheet頁面m_ExlSheet.AttachDispatch(m_ExlSheets.GetItem(_variant_t(long)2

6、),TRUE);m_ExlSheet.Delete();把第一個Sheet頁面的名字改變?yōu)門estSheetm_ExlSheet.AttachDispatch(m_ExlSheets.GetItem(_variant_t(long)1),TRUE);m_ExlSheet.SetName(TestSheet);/合并第一行單元格A1至D1/加載要合并的單元格m_ExlRge.AttachDispatch(m_ExlSheet.GetRange(_variant_t(A1),_variant_t(D1),TRUE);m_ExlRge.Merge(_variant_t(long)0);/設置表格內容

7、/m_ExlRge.AttachDispatch(m_ExlSheet.GetCells(),TRUE);加載所有單元格m_ExlRge.Setltem(_variant_t(long)1),_variant_t(long)1),_variant_t(數學系研究生課程統計);m_ExlRge.SetItem(_variant_t(long)2),_variant_t(long)1),_variant_t(課程名);m_ExlRge.SetItem(_variant_t(long)2),_variant_t(long)2),_variant_t(課時);m_ExlRge.SetItem(_var

8、iant_t(long)2),_variant_t(long)3),_variant_t(難度);m_ExlRge.SetItem(_variant_t(long)2),_variant_t(long)4),_variant_t(教學方式);m_ExlRge.SetItem(_variant_t(long)3),_variant_t(long)1),_variant_t(泛函分析);m_ExlRge.SetItem(_variant_t(long)3),_variant_t(long)2),_variant_t(60);m_ExlRge.SetItem(_variant_t(long)3),_

9、variant_t(long)3),_variant_t(普通);m_ExlRge.SetItem(_variant_t(long)3),_variant_t(long)4),_variant_t(老師講課);m_ExlRge.SetItem(_variant_t(long)4),_variant_t(long)1),_variant_t(微分流形);m_ExlRge.SetItem(_variant_t(long)4),_variant_t(long)2),_variant_t(40);m_ExlRge.SetItem(_variant_t(long)4),_variant_t(long)3

10、),_variant_t(變態(tài)難);m_ExlRge.SetItem(_variant_t(long)4),_variant_t(long)4),_variant_t(自學);m_ExlRge.SetItem(_variant_t(long)5),_variant_t(long)1),_variant_t(二階橢圓型方程與方程組);m_ExlRge.SetItem(_variant_t(long)5),_variant_t(long)2),_variant_t(60);m_ExlRge.Setltem(_variant_t(long)5),_variant_t(long)3),_variant

11、_t(很難);m_ExlRge.Setltem(_variant_t(long)5),_variant_t(long)4),_variant_t(討論);m_ExlRge.AttachDispatch(m_ExlSheet.GetUsedRange();加載已使用的單元格m_ExlRge.SetWrapText(_variant_t(long)1);設置單元格內的文本為自動換行/設置齊方式為水平垂直居中/水平對齊:默認=1,居中=-4108,左=-4131,右=-4152垂直對齊:默認=2,居中=-4108,左=-4160,右=-4107m_ExlRge.SetHorizontalAlignm

12、ent(_variant_t(long)-4108);m_ExlRge.SetVerticalAlignment(_variant_t(long)-4108);/設置整體的字體、字號及顏色/Fontft;ft.AttachDispatch(m_ExlRge.GetFont();ft.SetName(_variant_t(宋體);/字體ft.SetColorIndex(_variant_t(long)11);字的顏色ft.SetSize(_variant_t(long)12);字號/設置標題字體及顏色/m_ExlRge.AttachDispatch(m_ExlSheet.GetRange(_va

13、riant_t(A1),_variant_t(D1);ft.AttachDispatch(m_ExlRge.GetFont();ft.SetBold(_variant_t(long)1);粗體ft.SetSize(_variant_t(long)13);ft.SetColorIndex(_variant_t(long)2);CellFormatcf;cf.AttachDispatch(m_ExlRge.GetCells();/設置底色/Interiorit;it.AttachDispatch(m_ExlRge.GetInterior();it.SetColorIndex(_variant_t(

14、long)11);標題底色/表格內容的底色/m_ExlRge.AttachDispatch(m_ExlSheet.GetRange(_variant_t(A2),_variant_t(D5);it.AttachDispatch(m_ExlRge.GetInterior();it.SetColorIndex(_variant_t(long)15);/為表格設置邊框/RangeUnitRge;CStringCellName;for(inti=1;i=4;i+)for(intj=1;j=4;j+)CellName.Format(%c%d,j+64,i);單元格的名稱UnitRge.AttachDis

15、patch(m_ExlRge.GetRange(_variant_t(CellName),_variant_t(CellName);/加載單元格/LineStyle=線型Weight=線寬Colorindex=線的顏色(-4105為自動)UnitRge.BorderAround(_variant_t(long)1),_variant_t(long)2),_variant_t(long)-4105),vtMissing);/設置邊框/釋放對象(相當重要!)m_ExlRge.ReleaseDispatch();m_ExlSheet.ReleaseDispatch();m_ExlSheets.ReleaseDispatch();m_ExlBook.ReleaseDispatc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論