OLE程序开发利用(开发EXCEL) 之 一

OLE程序开发利用(开发EXCEL)
一、首先打开类向导(MFC ClassWizard) 选择Add Class按钮中的 From a type library...找到
 Office 目录下的文件 EXCEL9.OLB 并打开。
二、在Confirm Class中的类框中选择你所需的类(EXCEL中的对象)后按OK按钮后依次添加  _Application 、Workbooks 、_Workbook 、Worksheets 、_Worksheet 和 Range类。
三、添加头文件
 #include <comdef.h>
 #include "excel9.h" 
四、代码如下:


void CParameterApp::CreateRepTemp()
{
 _Application ExcelApp;
 Workbooks wbsMyBooks;
 _Workbook wbMyBook;
 Worksheets wssMysheets;
 _Worksheet wsMysheet;
 Range rgMyRge;
 CString strSqlStmt;
 CString strRepTemplate="c://报表//报表.xlt";

///
 CFileFind filefind;
 int iFileExist= filefind.FindFile((LPCTSTR)strRepTemplate);

///
 if(CoInitialize(NULL)!=0)
 {
  AfxMessageBox("初始化COM支持库失败!");
  exit(1);
 }


   COleException *e = new COleException;
  
 try
 {
  if(!ExcelApp.CreateDispatch("Excel.Application.9",e))                                                                                                                                                                                                                                                                                     
                                                    
   throw e; 
  
  }

    catch (COleDispatchException * e)
   {
      CString cStr;

      if (!e->m_strSource.IsEmpty())
         cStr = e->m_strSource + " - ";
      if (!e->m_strDes cription.IsEmpty())
         cStr += e->m_strDes cription;
      else
         cStr += "unknown error";

      AfxMessageBox(cStr, MB_OK,
         (e->m_strHelpFile.IsEmpty())? 0:e->m_dwHelpContext);

      e->Delete();
   }
 
 ExcelApp.SetCaption(_T("FARAD 200D 报表模板设置"));
 file://得到Workbooks
 wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(),true); 
 
 if( iFileExist)
 {
  wbMyBook.AttachDispatch(wbsMyBooks.Add(_variant_t((CString)strRepTemplate)));
  file://wbMyBook.SetSaved(true);
  file://ExcelApp.GetSaveAsFilename (vtMissing,vtMissing,vtMissing,vtMissing,_variant_t("vtMissing"));
  file://wbMyBook.Save ();
  file://("xlShared")
  file://wbMyBook.SaveAs(_variant_t("d://我的工作表.xls"),_variant_t("xlAddIn"),vtMissing,vtMissing,vtMissing,vtMissing,_variant_t(long (1)),_variant_t("xlUserResolution"),vtMissing,vtMissing,vtMissing);
  file://运行宏(CString)
  ExcelApp.Run(_variant_t("auto_open"),vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing
   ,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing
   ,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing,vtMissing
   );

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值