我刚才在论坛里搜索了一下,很多帖子,我贴了一段代码CString strFilePath = L"111.xls";
COleVariant
covTrue((short)TRUE),
covFalse((short)FALSE),
covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR); _Application ExcelApp;
Workbooks wbsMyBooks;
_Workbook wbMyBook;
Worksheets wssMysheets;
_Worksheet wsMysheet;
Range rgMyRge;
if(!ExcelApp.CreateDispatch("Excel.Application",NULL))
{
AfxMessageBox("创建Excel服务失败!");
exit(1);
} wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true);
wbMyBook.AttachDispatch(wbsMyBooks.Add(_variant_t(strFilePath))); wssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true);
wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t("sheet3")),true); rgMyRge.AttachDispatch(wsMysheet.GetCells(),true); int column = rgMyRge.GetColumn();
int row = rgMyRge.GetRow();
VARIANT tt;
///////////////
Range cell;//增加一个对象
cell.AttachDispatch(rgMyRge.GetItem(COleVariant((long)1),COleVariant((long)1)).pdispVal,true);
tt = cell.GetValue2();//取值
////////////
CString yy;
yy = tt.bstrVal;
// AfxMessageBox(yy);//输出值 cell.ReleaseDispatch();
rgMyRge.ReleaseDispatch();
wsMysheet.ReleaseDispatch();
wssMysheets.ReleaseDispatch();
wbMyBook.ReleaseDispatch();
wbsMyBooks.ReleaseDispatch();
ExcelApp.ReleaseDispatch(); 这个是通过com接口访问excel把,需要包含什么头文件和库呢,编译一堆错误,谢谢
COleVariant
covTrue((short)TRUE),
covFalse((short)FALSE),
covOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR); _Application ExcelApp;
Workbooks wbsMyBooks;
_Workbook wbMyBook;
Worksheets wssMysheets;
_Worksheet wsMysheet;
Range rgMyRge;
if(!ExcelApp.CreateDispatch("Excel.Application",NULL))
{
AfxMessageBox("创建Excel服务失败!");
exit(1);
} wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true);
wbMyBook.AttachDispatch(wbsMyBooks.Add(_variant_t(strFilePath))); wssMysheets.AttachDispatch(wbMyBook.GetWorksheets(),true);
wsMysheet.AttachDispatch(wssMysheets.GetItem(_variant_t("sheet3")),true); rgMyRge.AttachDispatch(wsMysheet.GetCells(),true); int column = rgMyRge.GetColumn();
int row = rgMyRge.GetRow();
VARIANT tt;
///////////////
Range cell;//增加一个对象
cell.AttachDispatch(rgMyRge.GetItem(COleVariant((long)1),COleVariant((long)1)).pdispVal,true);
tt = cell.GetValue2();//取值
////////////
CString yy;
yy = tt.bstrVal;
// AfxMessageBox(yy);//输出值 cell.ReleaseDispatch();
rgMyRge.ReleaseDispatch();
wsMysheet.ReleaseDispatch();
wssMysheets.ReleaseDispatch();
wbMyBook.ReleaseDispatch();
wbsMyBooks.ReleaseDispatch();
ExcelApp.ReleaseDispatch(); 这个是通过com接口访问excel把,需要包含什么头文件和库呢,编译一堆错误,谢谢
classwizard-->添加类库-->浏览类库文件-->选择excel安装文件夹里面的excel9.olb(如果是office2000版的话),其他版本记不得了-->选择需要的类(一般都是全选)-->添加
在这之后要include一下excel9.h(如果是office2000版的话)其他版本的话,可以上网查询一下看看匹配的版本。
http://www.vckbase.com/document/viewdoc/?id=421
而automation要求的似乎多些
(我所使用的是excel2003,对于其它版本的office,请选择excel*.olb) 然后选择你用到的。
_Application ExcelApp;
Workbooks wbsMyBooks;
_Workbook wbMyBook;
Worksheets wssMysheets;
_Worksheet
这些东西到底要包含什么头文件啊,哪个大侠给指点一下撒。
使用过程很简单:
_Application* pExcelApp = NULL;
CoCreateInstance(..., &pExcelApp); // 这里启动EXCEL实例
有了pExcelApp,你能导航到任何其它对象,包括_Worksheet等等
#include "comdef.h"
_Application ExcelApp;
Workbooks wbsMyBooks;
_Workbook wbMyBook;
Worksheets wssMysheets;
_Worksheet
这些东西到底要包含什么头文件啊,哪个大侠给指点一下撒。
你在导入类的时候会在你的根目录上有相关的文件的,包括近来就好了,你用的是excel2k我不知道是什么,excel xp以上都是CApplication CWorkBook,CWorksheets,CWorksheet