说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

用Word做Delphi报表输出工具

HTML文档下载 WORD文档下载 PDF文档下载
用Word做Delphi报表输出工具

笔者在实际应用中发现,报表的内容一般很少变动,但其字体格式及版式是经常变动的,而且有时用户为了某种需要,不想修改数据库的真实内容而又要改变报表内容。如果用ReportSmith可以解决前者问题,但对于后者则无能为力了,且其界面是英文的,不合用户习惯。如果用3.0中的TQReport的报表部件,则两者都不能实时解决,必须修改原代码后重新编译才能使用。而使用Word及Excel则完全可以克服以上不足。具体实现如下(以Word实现为例):

首先用Word编辑报表格式,并排好版,把将要输出的数据项用表单域代替,并取名。这里我们暂时假设有表单域Item1及Item2(均为文本型)

将这个文档存为模板文件Example.dot,然后按如下步骤进行:

1)运行Delphi3,在Form1里加入一个System部件集里的TDdeClientCov部件,取名为DdeExample

将其ConnectMode设为ddeManual(手动方式);将DdeService设为‘(WinWord)’;将ServiceApplication设为‘WinWord’。

2)编写一个自定义过程,以激活Word,如下:

procedure Tform1.WordActive(Cmds: TStrings);

var

WordPath: String;

begin

if(not DdeExample.OpenLink) then {判断是否巳动态链接}

begin

if(FindWindow('OpusApp'

nil)=0) then

begin

WordPath := 'C:\msoffice\winword';

if(WordPath='') then

ShowMessage('中文Word未安装或未设置路径,请安装设置Word中文 版。')

else begin

DdeExample.ServiceApplication := WordPath+'\Winword.exe';

if(DdeExample.OpenLink) then {如果巳动态链接执行宏命令}   

DdeExample.ExecuteMacroLines(Cmds

False)

else

ShowMessage('无法启动Word中文版!');

DdeExample.ServiceApplication := 'WinWord.exe';

end;

end

else begin{如果巳动态链接执行宏命令}

DdeExample.ExecuteMacroLines(Cmds

False);

end;

end

else

DdeExample.ExecuteMacroLines(Cmds

false);

end;

在private声明区里加入如下:

procedure ActiveWord(Cmds: TStrings);

3)在Form1中加入一个按钮Button1

在其onclick事件里写如下代码:

procedure TForm1.Button1Click(Sender: TObject);

var

Cmds:TStringList;{创建Cmds}

TempItem1

TempItem2:String;

begin

cmds:=TStringList.Create;

cmds.Clear;

TempItem1:='数据项一';

TempItem2:='数据项二';

with Cmds do

begin

Clear;

Add('[FileNew.Template ="Example.Dot″]');{打开模板文件Example.Dot}

Add('[AppMaximize]');{文档最大化}

Add('[SetFormResult"Item1″

″'+TempItem1+'″]');{将数据TempItem1传给表单域Item1}

Add('[SetFormResult"Item2″

″'+TempItem2+'″]);{将数据TempItem2传给表单域Item2}

end;

WordActive(DdeExample

Cmds);{调用自定义过程}

Cmds.Free;{释放Cmds}

end;

运行这个程序,单击Button1,大家可以发现Word被启动了,屏幕上出现了:数据项一;数据项二两个数据项。最后,大家可以任意修改本报表的格式及数据,因为这时这个报表与具体的应用程序巳没有关系了。

本例中用的是中文Word6或中文Word7。由于Word97的宏命令巳变为Visual Basic语句,如大家想用Word97实现,请将其宏命令改变为相应的代码。

这是个简单的示例,大家可以利用Word的宏录制功能,录取更多的宏(如自动生成表格、填充文字、变动字体等宏命令),并与数据库的各种表联系起来,依次加入Cmds中即可实现您所要求的更复杂的功能。

悼念斯诺登使用的加密电邮服务——Lavabit架构解析 运营商上阵OTT “一笑泯恩仇”后路在何方 [企业开源系列]后起之秀Facebook凭什么挑战互联网霸主Google? 谷歌推出免费标签管理应用Tag Manager McAfee CTO Phyllis Schneck被任命为NPPD副部长 Bootstrap 3.0发布 更好地支持移动端和响应式开发 国内创业公司QingCloud的魄力:做一个世界级的IaaS服务 从毫秒到微妙,纯硬的闪存阵列IBM Flash System来了! 中科创达邹鹏程:黑客精神逐渐被人遗忘 有点让人感伤 通过讲故事的方式来设计优秀网站 “肮脏的”IT工作排行榜 Clank:带有SCSS的高效率移动应用原型框架 欧朋 CTO 罗志宇:谈Sphinx游戏引擎的前世今生 John Carmack大神亲手操刀,Oculus Rift SDK即将发布 从南极之争谈软件架构十个技巧,及成功团队具备的气质 Imation重拳出击,推出新型混合存储平台 张建华:FusionSphere不是简单的OpenStack发行版 Chrome 29来了:地址栏变得更“兼容” Android版增WebRTC 工程师谈在Facebook工作最糟糕的事情 用Scala重构19楼——SDCC 2013讲师王治专访 10款最新且超实用的开发框架 创业公司为什么应该写博客? 向iOS SDK看齐:Facebook Android SDK迎来重大更新 闯向海外:对话AppFlood产品总监陈霄 高手爱跨界:联想智能桌面,27寸大Pad抢先试玩 惠普第三季度收入272亿美元同比下降8% 高管重新布局 原来我们会出这个价钱购买“廉价”iPhone Web设计过程中该做和不该做的 新细节披露:通过电信合作 美国75%网络遭NSA监控 实时Bug检测工具Bugsnag发布API更新 【观察】一大三小:亚马逊,微软、谷歌、IBM ,IaaS四足鼎立 请高手帮忙 SQL数据库恢复问题 我用jbuilder5编译EJB为什么老有例外,md,急死我了 窗口列举的问题,请给点思路 时间比较问题 怎么禁止在CWebBrowser上点右键? asp.net中连接oracle9出现了这样的问题:ORA-12640: 验证适配器初始化失败,帮忙解决,在线等待! 如何做能变色的按钮? 用了就不放?,内存怪现象请教高手? 招聘的故事 用了就不放?,内存怪现象请教高手? 急。各位有没有NT高手呀!怎么配置NT下的IIS呀? 高分求救!!急!!关于无法找到动态连接库的问题。 xpmenu控件的使用! 招聘的故事 请问谁有《Visual C++ MFC 编程实例》这本书的配套源代码?(在线等) 如果我数据库里有一篇文章 怎么格式化她????? isapi中用ado访问数据库只能读不能写,何故?相同的代码在exe中可以 在对话框中建立一个socket连接,如何在释放对话框之后保存这个连接以备以后使用? 关于屏保程序的讨论 安装程序的BDE问题? 我创建了一个POPUP风格的窗口,如何去除背景? 和 Oracle 的连接问题(odac ) 帮忙看一下有什么问题!! 高分求救!!急!!关于无法找到动态连接库的问题。 指纹算法 Java Developer Interbase如何自动保存更新 请教数据库连接池的使用.... 不要以为你不骂人你的素质就比那些骂街的高了,如果你卖国那么你的素质比那些骂街的更低,因为你基本不具备一个人的素质了 哪位有有关Vtune的相关资料呀,提供链接也行,最好是指南一类的,3X。 编程几年了,没有希望,想改行,你们呢? 有谁做过“文物馆的文物或藏品综合管理系统”如能提供资料或动者!本人感谢! 入门时奇怪问题? 如何把*.IMG文件转换为JPG文件? 其实你不懂我的心 那里可以买到microchip的mcp2150 ,(要现货),比较紧急,请帮忙 关于对2进制文件的操作 将去做SAP ABAP4平台编程,用过的请进。up有分。 C的图形问题? 为什么我点进去看不到内容? 如何考中程 数据窗口控件为dw_6,其间的对象为D_PUR,我想使其中的图片框的VISIBLE属性变为FALSE总是有错误,请教:)在线等待 kylix2在RedHat7.2下的安装问题? 能告诉我吗????各位哥哥指点一二 数据库置疑问题,并不难?请进 关于串口通讯(向手机发送AT命令集) 高手请看:表格的终极问题 如何得到treeview中选中项的标签或内容? 在哪能下载到FOXPRO2。0(FOR DOS) 请教高手!我没多少分了,50分给你! 怎么办? OH和NH4组成 ;SO4分别和Na、Ca、AL、Fe、NH4组成 ;NO3分别和Ca、Na、Al、Fe、NH4组...OH和NH4组成 ;SO4分别和Na、Ca、AL、Fe、NH4组成 ;NO3分别和Ca、Na、Al、Fe、NH4组成 . 土壤中有机物主要来源于生物的排泄物和死亡的生物体及众多的细菌和微生物,在土壤生物的作用下形成( )为土壤中有机物主要来源于生物的排泄物和死亡的生物体及众多的细菌和微生物, 好评*^o^* 大一新生应该读些什么书为大学做准备拜托谈些有用的经验, 给好评!求过程详细!o>_ 来帮我检查一下生物测试题 看看对不对 先给答案 最后追加给分1. ★今日的地球,森林正在减少;海洋、河流、湖泊受到污染;荒漠在蔓延;湿地在缩小;大气中,二氧化碳在增加;臭氧层遭 人教版八年级生物“基因的显性和隐性”给讲讲呗易懂点. 求解答,好评谢谢!要过程O(∩_∩)O 我们生物考试看看我下面这题对不对我们生物考试有个题说 小肠里含有什么?大大增加了它的表面积.本来要填有小肠绒毛才是对的 但是我填毛细血管和毛细淋巴管(小肠绒毛就是含有它们的 大一新生,准备考英4级 自学要看哪些书好? 好评(⊙o⊙)哦 1.蚯蚓身体分节,它体节的作用是:DA.传递营养 B.使躯体运动灵活,转向方便 C.排泄方便 D.保持体温恒定2.大雨过后,可以看到许多蚯蚓爬到地面上来,这是由于:CA.蚯蚓喜欢水多的环境 B.雨后地 拜草枯除草剂对鱼类有毒吗? 生物(基因的显性和隐性)问题在人群中,生来就惯用右手与生来就惯用左手(不包括后天的矫正和练习)是一对相对形状.父亲惯用左手,母亲惯用右手,他们生的孩子也是惯用右手的.请问,这 运用经济生活知识分析如何破解我国能源困局,维护国家能源安全 除草剂在鱼塘边使用会影响鱼的生长吗?还有除草剂怎么配水使用?请看清题目再去找资料 来回答 请问我是大一新生,有没有什么英语方面的书适合我?我想考四级 (2005·广东生物·14)生物组织中还原糖、脂肪和蛋白质三种有机物的鉴定实验中,以下操作错误的是A、可溶性还原糖的鉴定,可用酒精灯直接加热产生砖红色沉淀B、只有脂肪的鉴定需要使用 这是什么鱼, 初二生物基因的显性和隐性没学好怎么办啊~如题,我完全不知道怎么算,好多问题都要算的比如说:AA×aa=?AA×Aa=?Aa×aa=?Aa×Aa=?aa×AA=?这些都是怎么算的啊?我需要掌握基因的计算公式.还有aa可不 美国如何保护民族工业 水厂用二氧化氯,还需要液氯吗?用二氧化氯消毒,氯酸钠和浓盐酸反应生成的氯气怎么处理? 大一新生该看些什么书?工科 专业外的东西也很想学还有对人生比较有教育的 给点书名吧 生物(请指出错误的地方)下列叙述正确的是A从免疫学角度看,甲型H1N1流感病毒是一种抗体,从传染学角度看,它属于病原体B.注射过麻疹疫苗的人,对甲型H1N1流感不具有免疫力,这是人体特异性 液溴和三氯化铁为什么不能用于饮用水消毒,而液氯可以 我们要在这次“科技月”活动中,养成一种爱科学、学科学、用科学. 怎么修改病句啊! Some states have developed an ...这个短句怎么译(关于美国能源安全建议方面的)Some states have developed an enlightened approach to siting new facilities.We recommend pre-qualification of sites, 悬梁刺股的是谁 苏秦 孙敬 “我对献身科学的青年们的希望是什么?”将这句话改病句 指出以下错误的地方1.对酵母菌计数时,用吸管吸取培养液滴满血球计数板的计数室及其四周边缘,轻轻盖上盖玻片后即可镜检2.沸水浴条件下,脱氧核苷酸与二苯胺发生作用呈现蓝色 成语《悬梁刺股》的主人公是?我知道有一个是苏秦,还有一个是谁? 我们要在青少年中开展热爱科学.(修改病句) 沙子 海水如果 开条水渠之类的东西 把海水引到沙漠里是不是很爽 悬梁刺股的这个成语说的历史人物是谁 修改病句“中学生是青少年学习的重要阶段之一.” 靴子进了沙子和海水今天去海边玩,毛靴里面直接被海水冲了,进了很多海水和沙子.该怎么办清理干净那些沙子?靴子表面上绒面,里面是毛 印度洋中的凯尔盖朗岛属于哪个大洲? 请问二氧化氯、亚硫酸氢钠、次氯酸钠那一种漂白效果好一些 怎么判断基因的隐性和显性我的意思就是比如说为什么双眼皮就是显性而单眼皮就隐性呢? “孙敬头悬梁 苏秦锥刺股”的启示 开盖好久的矿泉水喝了会怎么样 基因的显性和隐性怎么判断?还有,有时候父母都是双眼皮子女是单眼皮,有时候父母都是单眼皮子女是双眼皮.那么双眼皮的基因到底是显性还是隐性? 悬梁刺股中“悬梁”指的是谁 大一新生在过英语四级前做何准备 如何判断基因的显性和隐性 一堆货物有120吨,用甲车运得用4小时完成,甲乙车运6小时完成.现在由甲、乙合运这批货物,需要多少小时? 大一新生应该为英语四级做好哪些准备? 沙子怎么检尺 如何分辨生物中的显性基因和隐性基因? 请问:我是大一新生,12月考英语4级,那我该做什么准备呢? 给好评(⊙o⊙)哦 2009年江西的大一新生英语四级什么时候考?什么时候报名?怎么报名? 大一新生,英语四级应怎么样学?我来年就想考,谁能给点建议,谢啦! 怎么做,给好评哦!^O^ Ca(OH)2+Fe(no3)3= 能源安全战略的意义主要是从全局来说,字数越多越好主要是从国际上来说 非常感谢,给好评的(⊙o⊙)哦. 是 头悬梁 锥刺股还是 头悬梁 锥刺骨?好像两个都有标准的是那个? 求过程,有好评^O^ 一个圆柱的底面积是1.57平方分米,高是2分米,体积是( ).
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘