项目TestSC2SpO2DataToExcel
来源:互联网 发布:一个c语言源程序是由 编辑:程序博客网 时间:2024/05/18 02:08
一、在VS2010/MFC下创建基于对话框的项目TestSC2SpO2DataToExcel,创建过程中注意勾选“自动化”选项,系统将添加OLE自动化的代码。
1.增加了文件 DlgProxy.h、DlgProxy.cpp、TestSC2SpO2DataToExcel.idl 和TestSC2SpO2DataToExcel.reg。
2.stdafx.h文件中增加了一行代码:#include <afxdisp.h> // MFC 自动化类
3.Dlg文件中增加了代码:
DECLARE_DYNAMIC(CTestSC2SpO2DataToExcelDlg);
friend class CTestSC2SpO2DataToExcelDlgAutoProxy;
virtual ~CTestSC2SpO2DataToExcelDlg();
CTestSC2SpO2DataToExcelDlgAutoProxy* m_pAutoProxy;
BOOL CanExit();
afx_msg void OnClose();
virtual void OnOK();
virtual void OnCancel();
二、添加MFC Edit Browse Control 拖拽控件。
三、按照Test_PSG_FileV1组织结构引用文件;
Dlg的.cpp文件增加 #pragma comment(lib, "..\\Debug\\BMC_DevInterface.lib")导入库或者直接项目右键添加现有项,把BMC_DevInterface.lib添加进来也行。
Dlg的.h文件增加#include "../Include/DeviceInterface.h"
四、下面开始添加EXCEL相关的:项目右键--》添加类--》TypeLib中的MFC类--》选中注册表,在右侧的 可用的 类型库中选择 Microsoft Excel 12.0 Object Library<1.6>,
在接口里面添加_Application、_Workbook、_Worksheet、Workbooks、Worksheets、Range。
五、在CApplication.h文件中去掉#import "C:\\Program Files\\Microsoft Office\\Office12\\EXCEL.EXE" no_namespace
添加:
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\OFFICE12\\MSO.DLL" \
rename(L"RGB", L"MSORGB") \
rename(L"DocumentProperties", L"MSODocumentProperties")
using namespace Office;
#import "C:\\Program Files\\Common Files\\Microsoft Shared\\VBA\\VBA6\\VBE6EXT.OLB"
using namespace VBIDE;
#import "C:\\Program Files\\Microsoft Office\\Office12\\EXCEL.EXE" \
rename(L"DialogBox", L"ExcelDialogBox") \
rename(L"RGB", L"ExcelRGB") \
rename(L"CopyFile", L"ExcelCopyFile") \
rename(L"ReplaceText", L"ExcelReplaceText") \
no_auto_exclude
using namespace Excel;
六、在Dlg的.cpp文件中添加
#include "CApplication.h"
#include "CWorkbooks.h"
#include "CWorkbook.h"
#include "CWorksheets.h"
#include "CWorksheet.h"
#include "CRange.h"
七、报错:warning C4003: “DialogBoxW”宏的实参不足和error C2059: 语法错误:“,” ,此时需要将CRange中的DialogBox改个名字前面加个Range或者_都可以。
八、在需要调用EXCEL的地方添加如下代码:比如在Dlg的cpp文件中,按下某个按钮的相应函数中:
CApplication ExcelApp;
CWorkbooks books;
CWorkbook book;
CWorksheets sheets;
CWorksheet sheet;
CRange range;
LPDISPATCH lpDisp = NULL;
//创建Excel 服务器(启动Excel)
if(!ExcelApp.CreateDispatch(L"Excel.Application",NULL))
{
AfxMessageBox(L"启动Excel服务器失败!");
return ;
}
ExcelApp.put_Visible(TRUE);
ExcelApp.put_UserControl(FALSE);
.........
九、编译连接运行成功。
具体代码见:http://download.csdn.net/detail/xiaxiaojing/8501639
题外话:卸载OFFCIE之后,会报错如下:
- 项目TestSC2SpO2DataToExcel
- 项目
- 项目
- 项目
- 项目
- 项目
- 项目
- 项目
- 项目
- 项目
- 项目
- 项目
- 项目
- 项目
- 项目
- 项目
- 项目
- 项目
- nginx 多域名配置,采用多配置文件的方式GOOD
- jquery实现联想词搜索框和搜索结果分页
- 2011_1华中科技大学机试真题
- Hive的数据存储模型
- nslookup工具的使用方法
- 项目TestSC2SpO2DataToExcel
- 2011_2华中科技大学机试真题
- python学习笔记-(3)序列-Sequence
- HDU ACM 2206 IP的计算
- 有关Grails的事务
- Merge讲解与实例
- 2011_3华中科技大学机试真题
- OPENSSH - Build a backdoor
- ORACLE批量更新四种方法比较