MFC向Excel讀寫數(shù)據(jù)詳細(xì)方法_第1頁(yè)
MFC向Excel讀寫數(shù)據(jù)詳細(xì)方法_第2頁(yè)
MFC向Excel讀寫數(shù)據(jù)詳細(xì)方法_第3頁(yè)
MFC向Excel讀寫數(shù)據(jù)詳細(xì)方法_第4頁(yè)
MFC向Excel讀寫數(shù)據(jù)詳細(xì)方法_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、MFC向Excel讀寫數(shù)據(jù)詳細(xì)方法MFC讀寫Excel詳細(xì)步驟準(zhǔn)備工作:打開開發(fā)環(huán)境VC或VS新建一個(gè)基于對(duì)話框的簡(jiǎn)單工程;通過(guò)類向?qū)砑宇愐活愋?庫(kù)中的MFC類打開創(chuàng)建類對(duì)話框選擇文件,位置編輯框填入Excel.exe的詳細(xì)目錄,可以通過(guò)瀏覽選擇,在接口下方 選擇.Application (應(yīng)用),.Workbook (視窗),Workbooks (整個(gè)視窗),Worksheets (單個(gè)表單),Worksheets (整個(gè)表單),Range (元素集合)六個(gè)基本的接口并生成類。 選擇接口后單擊向右的單箭頭即可,雙箭頭是生成所有接口的類;生成類之后將添加的 幾個(gè)類的頭文件中的import 注

2、釋掉,加上#includec然后編譯,出現(xiàn)下面這倆個(gè)錯(cuò)誤;點(diǎn)擊DialodBoxA找到錯(cuò)誤位置將DialodBox改為 _DialodBox;再編譯,沒(méi)有錯(cuò)誤;warning C4003: DialogBoxA” 宏的實(shí)參不足 error C2059:語(yǔ)法錯(cuò)誤:“,”在要操作Excel類的CPP文件中包含頭文件:準(zhǔn)備工作完成。向Excel寫數(shù)據(jù):CFileDialogdlg(FALSE, , NULL,OFN.FILEMfSTEXISTIOFN.HIDEREADONLY OFN.OVERWRITEPROMPT, Files (*. xls) *. xls iMicrosoft Excel Fi

3、les(*. xlsx)(推薦)|*. xlsx|All Files(*.) I*. *1 |);CRangerange; CMyFontfont; CRangecols;COleVariantcovOptional(long)DISP_E_PARAMNOTFOUND, VT.ERROR); if (!app.CreateDispatch () books=app. get_Workbooks 0; book=books. Add(covOptional);sheets=book. get_Worksheets ();sheet=sheets. get_Item(COleVariant (sh

4、ort) 1) ; /獲得(A, 1) (B, 1)兩個(gè)單元格range=sheet. get_Range (COleVariant (), COleVariant (); 設(shè)置公式JRAND ()*100000”range. put_Formula(COleVariant ();this-MessageBox (無(wú)法創(chuàng)建 Excel 應(yīng)用! ) ; return;dlg.m_.ofn. IpstrTitle =保存到 Excel; if (dig. DoModal 0 = IDOK) 獲取路徑CStringstrFileName=dlg. GetPathName();CWorkbooks b

5、ooks; CWorkbook book; CApplication app; CWorksheets sheets; CWorksheet sheet;選擇整列,并設(shè)置寬度為自適應(yīng)cols = range. get_EntireColumn();cols. AutoFitO; 設(shè)置字體為粗體font = range. get_Font 0;font. put_Bold (COleVariant (short) TRUE) ; /設(shè)置數(shù)字格式為貨幣型/range. put_NumberFormat (COleVariant ( CString Range327 = , , , , , ;CSt

6、ringfileinfo口 = 齒形, 齒向, 齒距, 左齒面, 右齒面, 徑跳 ; for (int i=0;i6;i+) /*獲得坐標(biāo)為(C, 2)單元格顯示Excel表range = sheet. get_Range(COleVariant ( 設(shè)置單元格內(nèi)容位 Hello Excelrange. put_Value2 (COleVariant (、哈爾濱精達(dá)測(cè)量?jī)x器有限公司 */選擇整列,并設(shè)置寬度為自適應(yīng)cols = range. get-EntireColumnO ; cols. AutoFit ();range = sheet. get_Range(COleVariant(Ran

7、ge327Ei), range. put_Value2(COleVariant(fileinfoi);COleVariant(Range327 Ei);顯示列表控件range. ReleaseDispatchO ;font. ReleaseDispatch() ; cols. ReleaseDispatch() ; sheet. ReleaseDispatchO ; sheets. ReleaseDispatch0; book. ReleaseDispatch0; books. ReleaseDispatch();以下關(guān)閉應(yīng)用的兩條代碼結(jié)合使用且順序不能反,否則無(wú)法關(guān)閉進(jìn)程app. QuitO

8、;app. ReleaseDispatch();book. SaveCopyAs(COleVariant(strFileName); book. put_Saved(true);/app. put_Visible(TRUE);允許其他用戶控制Excel,否則Excel、將一閃而過(guò) /app. put_UserContro1(TRUE);)讀取Excel中的數(shù)據(jù):UpdateData(TRUE); str327=;UpdateData(FALSE); CApplication app; CWorkbooks books; CWorkbook book; CWorksheets sheets; C

9、Worksheet sheet; CRange range; CRangeoCurCell;CStringstrFileName1;CFileDialogdlg(TRUE, , NULL,OFN.FILEMUSTEXIST OFN.HIDEREADONLY OFN.OVERWRITEPROMPT, Files (*.xls) *.xls Microsoft Excel Files(*. xlsx) *.xlsx All Files(*. *) I*. *1 |);dig. m_ofn. IpstrTitle = 打開 Excel 文件、;intnRetVal = dig. DoModal 0

10、; if (nRetVal = IDOK ) if (Japp. CreateDispatch( _T( ), NULL ) )設(shè)置為顯示app. put_Vi sib1e(FALSE);books. AttachDispatch(app. get_Workbooks 0, TRUE ); LPDISPATCH1pDisp = NULL;COleVariantcovTrue(short)TRUE); COleVariantcovFalse(short)FALSE);C01eVariantcov0ptional(long)DISP_E_PARAMN0TF0UND, VT_ERROR);/打開文件CStringstrFilePath=dlg. GetPathName(); strFi1eNamel=strFilePath;CStringstrFilePath=研發(fā)人員名單 202L xls IpDisp = books. Open( strFilePath,_variant_

溫馨提示

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

評(píng)論

0/150

提交評(píng)論