用VC6.0编写访问excel文件的程序,采用Automate方式
//test
先建一个Dialog,增加一个button 为OnTestExcel()
通过ClassWizade-Automation-Add Class-From a type library将excel.exe中的_Application,_Workbook,_Worksheet,Workbooks,Range,Worksheets加入。
然后再TestDlg.cpp前增加
#include "comdef.h"
#include "excel.h"void CTestDlg::OnTestDlg()
{
_Application ExcelApp; 
Workbooks wbsMyBooks; 
_Workbook wbMyBook; 
Worksheets wssMysheets; 
_Worksheet wsMysheet; 
Range rgMyRge; 
 
if (!ExcelApp.CreateDispatch("Excel.Application")) 

AfxMessageBox("创建Excel服务失败!"); 
exit(1); 

………………
ExcelApp.Quit();
}
但是运行时在创建excel 服务时即出现问题会是什么原因还是VC6无法使用excel2003?

解决方案 »

  1.   

    只知道创建服务的时候返回为false,没有其他的信息
      

  2.   

    顶!  我也想知道怎么把数据倒入到excel中
      

  3.   

    楼上的楼上说的对,先要初始化COM库。下面有篇教程,可以参考:
    纯 C++ 代码创建并保存 EXCEL 文件
    http://www.cppblog.com/azhisoft/articles/419.html
      

  4.   

    在initialDlg中有增加CoInitialize(NULL);但创建失败
      

  5.   

    漏说了,COM初始化成功,但excel服务创建仍然返回falseto lonely001(独行客)
    这篇代码有看过,因为这个程序的目的不仅是读写excel file,主要是想实现对比两个excel的内容,不同的单元格要把底色改成红色。用ODBC等等都无法实现,才想到了Automation,但首先就碰上了无法初始化的问题
      

  6.   

    在程序的CR2XApp::InitInstance()
    {
       if(!AfxOleInit())
    return false;
    ……}
    另外,检查本机是否正确的按照了EXCEL 2003
      

  7.   

    问题解决,重新安装office2003
    汗~~~~~~~~~~~~~~~~~~~~~~~