1、單擊“查看”菜單上的“ClassWizard”(或按 Ctrl+W)。
如果要使 Excel 97 自動運行,請選擇 Microsoft Excel 8.0 對象庫;默認位置為 C:\ProgramFiles\Microsoft Office\Office\Excel8.olb)。
如果要使 Microsoft Excel 2000 自動運行,請選擇 Microsoft Excel 9.0 對象庫,其默認位置為 C:\Program Files\Microsoft Office\Office\Excel9.olb。
如果要使 Microsoft Excel 2002 和 Microsoft Office Excel 2003 自動運行,則對象庫將被嵌入到文件 Excel.exe 中。Office 2002 中的 Excel.exe 文件的默認位置為 C:\Program Files\Microsoft Office\Office10\Excel.exe。
2、 在***Dlg.H中添加頭文件
#include<comdef.h>
#include "excel.h"
在***Dlg::OnInitDialog()中添加
// 初始化Com
if (::CoInitialize( NULL ) == E_INVALIDARG)
{
AfxMessageBox(_T("初始化Com失敗!"));
exit(1);
}
if ( !ExcelApp.CreateDispatch(_T("Excel.Application"), NULL))
{
AfxMessageBox(_T("創建Excel2000服務失敗!"));
::CoUninitialize();
}
//打開ExcelApp等等
wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true);
wbMyBook.AttachDispatch(wbsMyBooks.Add(_variant_t("c:\aa.xls")));
//得到Worksheets
wssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true);
//得到sheet1
wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t("sheet1")),true);
rgMyRge.AttachDispatch(wsMysheet.GetCells(),true);
CString a = (LPCTSTR)(_bstr_t)rgMyRge.GetItem(_variant_t((long)i),_variant_t((long)1));
SetItem((_variant_t((long)2),_variant_t((long)3)),_variant_t("fafdad"));
//釋放資源關閉EXCEL
rgMyRge.ReleaseDispatch();
wsMysheet.ReleaseDispatch();
wssMysheets.ReleaseDispatch();
wbMyBook.Close (COleVariant((short)(FALSE)), COleVariant((short)(FALSE)),vtMissing);
wbsMyBooks.Close();
wbMyBook.ReleaseDispatch();
wbsMyBooks.ReleaseDispatch();
ExcelApp.Quit();
ExcelApp.ReleaseDispatch();