MFC如何操作word和excel进行插入数据和打印
MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对SDK来说更为简单的方法。
因为总体上,MFC框架定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员所要做的就是通过预定义的接口把具体应用程序特有的东西填入这个轮廓。
Microsoft Visual C++提供了相应的工具来完成这个工作:AppWizard可以用来生成初步的框架文件(代码和资源等);资源编辑器用于帮助直观地设计用户接口;ClassWizard用来协助添加代码到框架文件;最后,编译,则通过类库实现了应用程序特定的逻辑。
文档类从CDocument类派生,用来管理数据,数据的变化、存取都是通过文档实现的。
视窗口通过文档对象来访问和更新数据。
给你介绍一本书 MFC教程 作者 :李久新
vc++ 怎么做个表格
1、添加OLE/COM支持。
首先,应用程序必须添加对OLE/COM的支持,才能导入OLE/COM组件。
本文使用的是MFC对话框程序,在创建工程的向导中选中Automation选项即可为程序自动添加相应的头文件和OLE库初始化代码。
通过查看源代码,可以知道在stdafx.h的头文件中,添加了OLE/COM很多类所需添加的头文件。
#include // MFC 自动化类同时,在应用程序类的InitInstance函数中,添加了OLE/COM的初始化代码,如下所示:// 初始化 OLE 库if (!AfxOleInit()){AfxMessageBox(IDP_OLE_INIT_FAILED);return FALSE;}2、导入并封装Excel中的接口Excel作为OLE/COM库插件,定义好了各类交互的接口,这些接口是跨语言的接口。
VC可以通过导入这些接口,并通过接口来对Excel的操作。
由于本文只关心对Excel表格中的数据的读取,主要关注几个_Application、Workbooks、_Workbook、Worksheets、_Worksheet、Range等几个接口。
Excel的各类接口的属性、方法可以通过MSDN的Office Development进行查询。
VS2010导入OLE/COM组件的接口的步骤为:Project->Class Wizard->Add Class->MFC Class From TypeLib,先选择要导入的组件所在的路径,即Excel.exe所在的路径,然后再选择要导入的Excel类型库中的接口。
在完成接口导入后,VS2010将自动为导入的接口创建相应的实现类,用于对接口属性和方法的实现。
由于标准的C++没有属性访问器,只能添加一个两个存取函数来实现对属性的访问,通过在属性名称前加上get_和put_前缀分别实现对属性的读写操作。
即,由VC自动完成C++类对接口的封装。
C++编程,如何添加 Microsoft Word 的对象库的引用和使用Word的自...
using Microsoft.Office.Interop.Word; //导出Word引用至于检索,我还没有研究过。
示例代码:Word.Document mydoc = new Word.Document();//实例化Word文档对象Word.Table mytable;//声明Word表格Word.Selection mysel;//声明Word选区Object myobj;if (dGV.Rows.Count == 0)return;//建立Word对象Word.Application word = new Word.Application();myobj = System.Reflection.Missing.Value;mydoc = word.Documents.Add(ref myobj, ref myobj, ref myobj, ref myobj);word.Visible = true;mydoc.Select();mysel = word.Selection;//将数据生成Word表格文件mytable = mydoc.Tables.Add(mysel.Range, dGV.RowCount, dGV.ColumnCount, ref myobj, ref myobj);//设置列宽mytable.Columns.SetWidth(80, Word.WdRulerStyle.wdAdjustNone);//输出列标题数据for (int i = 0; i {mytable.Cell(1, i + 1).Range.InsertAfter(dGV.Columns[i].HeaderText);}//输出控件中的记录for (int i = 0; i {for (int j = 0; j {mytable.Cell(i + 2, j + 1).Range.InsertAfter(dGV[j, i].Value.ToString());}}
转载请注明出处51数据库 » mfc 操作word插入表格