摘 要:excel是当前最流行的数据报表制作工具。本文介绍如何使用delphi来控制excel完成数据库与报表之间的数据交换,讨论了报表制作工程中的一些细节性问题。
关键字:delphi,excel,报表
引言
数据报表作为企事业单位上报和下达的重要信息载体,随着信息化建设的不断推进,在实际的工作中得到了前所未有的应用。因此,数据报表已经成为管理信息系统中重要的一项功能,并且,由于数据的多样性和统计信息的增加,数据报表的系统实现变得越来越复杂。
delphi是一个高效的可视化数据库管理信息系统开发工具,.但是delphi开发环境中提供的报表控件在制作复杂报表时显得不够理想,不管是以前版本提供的quick report控件组,还是delphi 7提供的rave控件组,都不能让用户对生成的报表进行改动,且程序控制很难实现。excel作为现代办公常用的电子表格制作工具,以它的易操作性和实用性,得到了各行业办公人员的青睐。本文根据实际应用实践,介绍利用delphi编程控制excel生成报表的各种方法。
delphi控制excel的方法
1 创建excel文件
要在delphi中控制excel,就必须用到ole自动化。现在一般采用ole2来创建ole对象,当激活一个ole对象时,服务器程序仅在容器程序内部激活,这就是所谓的“就地激活”(in-place activation)。
创建excel文件时,先创建一个ole对象,然后在对象中建立工作表worksheet,如函数createexcel所示:
| function createexcel:variant; var v:variant; sheet:variant; begin v:=createoleobject('excel.application');//创建ole对象 v.visible:=true; v.workbooks.add(-4167); //添加工作表 v.workbooks[1].sheets[1].name:='test'; sheet:=v.workbooks[1].sheets['test']; return v; end; |
| procedure importdata; var i,j:integer; v:variant; begin v:=createexcel; //创建excel文件test for i:=0 to maxcolumn do begin for j:=0 to maxrow do v.workbooks[1].sheets[1].cells[i,j]:=i*j; //导入数据 end; end; |
| procedure linestylecontrol; var v,sheet,range:variant; begin v:=createexecl; sheet:= v.workbooks[1].sheets[1]; range:=sheet.range[sheet.cells[1,1],sheet.cells[39,30]];//选定表格 range.select; range.merge; //合并单元格 range.borders.linestyle:=xlcontinuous; //置边框线可见 range.font.size:=9; //改变表格内文本字体大小 end; |
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器