MFC操作word 配置环境 生成简单报表
2017-05-02 19:54
459 查看
一、为MFC配置操作word的环境
两种方式:1、将msword.h和msword.cpp添加到工程中(自己下,资源多),完成后会增加很多类。在实现文件上添加#include "msword.h"即可。
2、从类型库MSWORD.OLB导入相关类,具体参见:点击打开链接(一些细节解释参见点击打开链接 使用VS2010操作EXECL),实际测试中将CApplication.h中自动生成的类似#import "C:\\Program Files\\Microsoft Office\\OFFICE11\\MSWORD.OLB" no_namespace 注释掉后,只添加了前两行代码,然后为某些自动生成.h里个别漏void返回值的成员函数添加了void即编译通过(也不清楚为何会漏)。此外甚至有的不需要添加额外的代码即通过,如点击打开链接Automating
Word 2016 using Visual C++ MFC in Visual Studio 2015(CodeProject上的开源工程,挺详尽)。可以看出该方法挺繁杂,多种情况,但也有只添加需要的类,更规范优点。
其实第一种方式的两个文件是VC6.0导入类型库后自动生成的,无奈VS2010及以后的版本却更不好使了。。。。
好的资源:1、点击打开链接 stackoverflow: How
to read MS Word documents using MFC?
2、C++
app automates Word官方示例,3种方式,mfc竟没讲。。。
3、VS2010通过OLE操作Excel2010
4、【MFC/C++操作word】Word篇封装了操作word的类,挺详尽
5、Microsoft.Office.Interop.Word Namespace msdn
二、MFC生成word报表
工程下有时需要生成报表,网页上介绍的基本上都是新建空白文档,然后表格,文字,样式啦一点点加,太费劲啦!我想的是有一个word报表的模板,生成时只需以它为模板新建文档,并填表即可。
图1 报表模板
图2 自动生成的
我是按上述第一种方式配置环境的
两种方式:1、将msword.h和msword.cpp添加到工程中(自己下,资源多),完成后会增加很多类。在实现文件上添加#include "msword.h"即可。
2、从类型库MSWORD.OLB导入相关类,具体参见:点击打开链接(一些细节解释参见点击打开链接 使用VS2010操作EXECL),实际测试中将CApplication.h中自动生成的类似#import "C:\\Program Files\\Microsoft Office\\OFFICE11\\MSWORD.OLB" no_namespace 注释掉后,只添加了前两行代码,然后为某些自动生成.h里个别漏void返回值的成员函数添加了void即编译通过(也不清楚为何会漏)。此外甚至有的不需要添加额外的代码即通过,如点击打开链接Automating
Word 2016 using Visual C++ MFC in Visual Studio 2015(CodeProject上的开源工程,挺详尽)。可以看出该方法挺繁杂,多种情况,但也有只添加需要的类,更规范优点。
其实第一种方式的两个文件是VC6.0导入类型库后自动生成的,无奈VS2010及以后的版本却更不好使了。。。。
好的资源:1、点击打开链接 stackoverflow: How
to read MS Word documents using MFC?
2、C++
app automates Word官方示例,3种方式,mfc竟没讲。。。
3、VS2010通过OLE操作Excel2010
4、【MFC/C++操作word】Word篇封装了操作word的类,挺详尽
5、Microsoft.Office.Interop.Word Namespace msdn
二、MFC生成word报表
工程下有时需要生成报表,网页上介绍的基本上都是新建空白文档,然后表格,文字,样式啦一点点加,太费劲啦!我想的是有一个word报表的模板,生成时只需以它为模板新建文档,并填表即可。
图1 报表模板
图2 自动生成的
我是按上述第一种方式配置环境的
//Word应用程序 _Application app; Documents docs; _Document doc; Tables tabs; Table tab; //获得报表模板路径 CString path; GetCurrentDirectoryW(MAX_PATH, path.GetBuffer(MAX_PATH)); path.ReleaseBuffer(); path += "\\检测报表.doc"; //按模板创建新文档 app.CreateDispatch(L"Word.Application"); CComVariant templ(path), newTem(false), type(0), visib(true); docs.AttachDispatch(app.GetDocuments()); doc.AttachDispatch(docs.Add(&templ, &newTem, &type, &visib)); //在第三行写当前日期 Selection sel = app.GetSelection();//初始为文首 sel.MoveDown(COleVariant((short)5), COleVariant((short)2), COleVariant((short)0));//5为wdLine,按行下移;2为移两行;0为wdMove,只移动光标不选中(1为wdExtend还要选中) COleDateTime dt = COleDateTime::GetCurrentTime(); CString strDT = dt.Format(_T("%Y-%m-%d")); sel.TypeText(strDT); //填表 tabs = doc.GetTables(); tab = tabs.Item(1); for (int i = 2; i <= 3; ++i) for (int j = 2; j <= 6; ++j) { Cell ce; CString str; ce = tab.Cell(i, j); ce.Select(); //选中该单元 str.Format(L"%d, %d", i, j); sel.TypeText(str); } //显示 app.SetVisible(true); //释放环境 doc.ReleaseDispatch(); docs.ReleaseDispatch(); app.ReleaseDispatch();
相关文章推荐
- Office编程在dot Net环境中总结(Word生成表格报表篇)
- jacob环境配置:利用jacob操作word的配置和示例
- (转)Office编程在dot Net环境中总结(Word生成表格报表篇)
- C# asp.net 操作Word的前提配置和简单的方法
- 简单的hibernate环境搭建、自动生成model/配置/hibernate.xml配置文件
- 使用XML Schema 定义结构在.NET环境下生成自定义的Word及Excel报表
- C# asp.net 操作Word的前提配置和简单的方法
- MFC 简单封装word, office操作。
- Office编程在dot Net环境中总结(Word生成表格报表篇)
- Office编程在dot Net环境中总结(Word生成表格报表篇)
- 一步操作配置Word环境
- Office编程在dot Net环境中总结(Word生成表格报表篇) (一)
- Linux环境下proc的配置c/c++操作数据库简单示例
- 在MFC对EXCEL进行操作所要做的环境配置
- Office编程在dot Net环境中总结(Word生成表格报表篇) (二)
- 多种GUI对图像进行简单操作(qt【linux和win7环境】、MFC、MATLAB)
- 实现VSTO操作WORD之二 --------实现简单控件编程例子
- 在win下打造linux环境: cygwin的安装和简单配置
- 简单、完美的导出excel/word报表解决方案
- 实现VSTO操作WORD之一 --------简单HELLO WORD!