欢迎来到天天文库
浏览记录
ID:5567365
大小:243.00 KB
页数:7页
时间:2017-12-18
《vc 操作excel模板步骤》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、最近刚完成一个例子,受益不菲,和大家分享一下。VC的Excel编程操作,总结:(结合网络资源)利用VC操作Excel的方法至少有两种1.利用ODBC把Excel文件当成数据库文件,来进行读、写、修改等操作,网上有人编写了CSpreadSheet类,提供支持。(不太能理解CSpreadSheet)2.利用Automation(OLDAutomation)方法。将Excel当成组件服务器,利用VBA。又分为基于MFC的和SDK两种。(制作报表适用) 主要研究了一下第二种基于MFC的OLE编程方法。一、Excel的对象模型 Application:代表应
2、用程序本身。即Excel应用程序 Workbooks:是Workbook的集合,代表了工作薄。 Worksheets:是Worksheet的集合,是Workbook的子对象。 Range:是Worksheet的子对象,可以理解为Sheet中一定范围的单元格。 Shapes:是Worksheet的子对象,用于存储图片等信息的单元格。二、VC操作Excel的初始化过程 1、导入Excel库文件。 使用VC6.0的同志们可进行一下操作获取Excel库文件:1.启动VC6.0,打开新建对话框,新建一个MFCAppWizar
3、d(exe)工程,这里工程明设置为TestExcel。2.进入MFC应用程序向导,选择基本对话框,直接点击完成,工程文件结构如下图:1.打开MFCClassWizard窗口(查看—>建立类向导),选择Automation,单击AddClass按钮,选择Fromatypelibrary...,弹出文件选择对话框,之后定位到MicrosoftOffice的安装目录(通常为C:ProgramFilesMicrosoftOfficeOffice),选择(excel.exe适用于Excel2003;EXCEL9.OLB适用于Excel2000),确定后,弹出Conf
4、irmClasses窗口,(在不知道会使用到哪些类的情况下,)选择列表中的所有类,单击OK按钮。4.返回编辑器,查看工程文件,可发现多了EXCEL9.H及EXCEL9.CPP两个文件。 使用VS2005的同志们可从百度文库直接下载我已上传的Excel库文件(excel.h和excel.cpp)。将Excel库文件加入到项目后,进行如下操作:1.打开stdafx.h头文件确保包含如下头文件:#include#include"excel.h"2.打开TestExcel.cpp文件,修改CTestExcelApp::InitInstance()
5、,加入如下代码:BOOLCTestExcelApp::InitInstance(){//初始化COM组件if(!AfxOleInit()){AfxMessageBox("初始化Ole出错!");returnFALSE;}AfxEnableControlContainer();............returnFALSE;}为保证编译时不产生重复定义错误,打开excel.h文件,在文件开始位置加入如下代码:#if!defined_HEAD_FILE_EXCEL_#define_HEAD_FILE_EXCEL_相应的,在文件末尾加入:#endif2、操作EXCEL
6、文件1. 选择ResourceView工作区,打开IDD_TESTEXCEL_DIALOG,在对话框中添加一个按钮控件Button1,双击它,生成一个Button1Click事件的处理函数:voidCTestExcelDlg::OnButton1(){//TODO:Addyourcontrolnotificationhandlercodehere}2.在OnButton1()函数中,添加代码:voidCTestExcelDlg::OnButton1(){//制单CComboBox*pCmb=(CComboBox*)GetDlgItem(IDC_COMBO1);
7、intpos=pCmb->GetCurSel();if(pos==0){MessageBox(TEXT("请选择销售订单号!"),TEXT("注意"));return;}else{//参数定义不再赘述CEdit*pEdt=(CEdit*)GetDlgItem(IDC_EDIT1);pCmb->GetLBText(pos,m_oOrderID);//订单号pEdt->GetWindowTextW(m_oDeliveryDate);//交货日期pEdt=(CEdit*)GetDlgItem(IDC_EDIT2);pEdt->GetWindowTextW(m_oOrd
8、erTime);//接单
此文档下载收益归作者所有