OLE程序开发利用(开发EXCEL) 之 一
2006-10-27 16:49
232 查看
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
);
一、首先打开类向导(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
);
相关文章推荐
- OLE程序开发利用(开发EXCEL) 之二
- OLE程序开发利用(开发EXCEL)
- OLE程序开发利用(开发EXCEL) 之三
- OLE程序开发EXCEL
- VS2010/MFC 利用OLE读写excel操作时,手动打开其他excel文档程序崩掉的问题解决
- OLE程序开发EXCEL
- 利用汇编语言开发盗QQ密码程序
- 使用C#和Excel进行报表开发(八)-用程序绑定数据源
- 其实EXCEL也是一个很好的管理程序开发工具
- 在PowerBuilder中利用OLE技术调用Excel
- 利用Eclipse+Tomcat开发Web程序(简单例子测试)
- 跟我一起,利用bitcms内容管理系统从0到1学习小程序开发:三、上传图片到服务器
- 在VC++中利用ActiveX控件开发串行通信程序
- 使用C#和Excel进行报表开发(八)-用程序绑定数据源
- 利用sublime3搭建Python程序开发环境
- 利用Visual Basic开发SAP接口程序初探
- 利用汇编语言开发盗QQ密码程序
- zz--WINCE TCPMP应用四:利用TCPMP插件开发程序
- Java实现利用搜索引擎收集网址的程序-Java基础-Java-编程开发
- 利用键盘钩子开发按键发音程序