Excel报表的生成与打印

阅读: 评论:0

2024年2月6日发(作者:)

Excel报表的生成与打印

系统平台是Windows 2000+SQL Server 2000+IIS 5.0+ASP 3,报表采用的是Excel,要求按照给定的报表格式生成图书销售统计的报表,并能够打印。

2.1 Excel报表模板的制作

首先根据给定的报表格式,制作一个Excel模板(就是要打印的报表的表格),当然其中需要从数据库中动态统计生成的数据留着空白。这个报表先在Excel中画好,然后保存为模板,存放在起来,这里为。

2.2 Excel报表的生成与打印

这里采用了Excel的Application组件,该组件在安装Excel时安装到系统中。我们的操作也都是针对该组件。

(1) 建立ation对象

set objExcel=CreateObject("ation")

(2) 打开Excel模板

(h("test")&"") '打开Excel模板

(1).select '选中工作页

set sheetActive=Sheet

(3) Excel的常规添加操作

例如("g4").value=date() „这里添加的是时间,当然也可以是你指定的任何数据

(4) Excel中添加数据库中的纪录

这里假设已有一个数据集adoRset,存放由Sql操作生成的统计数据。

num=7 „从Excel的第七行开始

do until „循环直至数据集中的数据写完

strRange="d"&num&":f"&num „设定要填写内容的单元区域

(strRange).=10 „设定字体大小

(strRange).WrapText=false „设定文字回卷

(strRange).ShrinkToFit=true „设定是否自动适应表格单元大小

(strRange).value=array(adoRset("bookid"),adoRset("bookname"),adoRset("author")) „把数据集中的数据填写到相应的单元中

num=num+1

xt

loop

(5) Excel临时报表文件的保存及处理

实际运行中应该注意每次一个用户进行报表打印时都采用一个临时的Excel文件,而不是硬性规定文件名,因为如果用固定的文件名的话,只有第一次生成是成功的,后面的操作都会因为已存在同名文件而导致失败。所以我们需要每次都产生一个临时的而且不重复的文件名,这里可以采用自定义的getTemporaryFile()函数由来生成,然后存放在变量filename中,用变量filepos表示这些临时文件的路径。

此外如果这些临时文件不处理的话久而久之会成为文件垃圾,因此在每个用户提交Excel报表打印请求时要先删除临时目录下所有原先产生的临时打印文件。

临时文件的处理主要代码如下:

function getTemporaryFile(myFileSystem)

dim tempFile,dotPos

tempFile=pName

dotPos=instr(1,tempFile,".")

getTemporaryFile=mid(tempFile,1,dotPos)&"xls"

end function

set myFs=createObject("stemObject")

filePos=h("test") & "tmp" '要存放打印临时文件的临时目录

fileName=getTemporaryFile(myFs) '取得一个临时文件名

File filePos&"*.xls" '删除该目录下所有原先产生的临时打印文件

set myFs=nothing

Excel临时文件的保存代码为:

filePos&filename

(6) 退出Excel应用

set objExcel=Nothing

(7) Excel报表的打印

前面的步骤已经生成了Excel报表,下一步进行打印,采用的策略可以有两种:

方案一:提供上面生成的Excel报表临时文件链接给用户,用户可以直接点击在浏览器中打开Excel报表并通过浏览器的打印功能进行打印,也可以点击右键然后另存到本地后再作打印等相关处理。

方案二:生成Excel报表后直接在客户端加载到浏览器,当然在没有完全加载时应该提示“正在加载,请等待”等字样。

2.3 系统配置与注意事项

虽然以上代码很简单,但实际应用不当经常会出现错误,所以下面要讲到的系统配置和注意事项非常关键。

(1) 千万要保证以上代码输入的正确性,否则一旦运行错误,Excel对象会滞留内存,难以消除,导致下一次调用时速度狂慢,并产生内存不可读写的Windows错误。这时的解决方法就是注销当前用户,如果还不行,就只能Reset了。

(2) 一定要设置好负责打印功能的asp文件的权限。方法是:在IIS管理中,选择该asp文件,右键然后选“属性”/“文件安全性”/"匿名访问和验证控制“,在这里IIS默认是匿名访问,应该选择验证访问(这里基本验证和集成Windows验证两种方式均可,但前者不够安全),这一点无比重要,否则应用当中会出错的。

(3) 有的时候报表分为多页,而且我们希望每一页有相同的表头,要求表头每页都自动打印,可以在Excel模板中进行设置。方法如下:选择菜单"文件"/"页面设置"/"工作表",然后在"顶端标题行"输入你表头的行数(如:表头为1-3行即填入:$1:$3)。

Excel报表的生成与打印

本文发布于:2024-02-06 14:19:30,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170720037061317.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:报表   打印   生成   数据   文件
留言与评论(共有 0 条评论)
   
验证码:
排行榜

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23