当前位置: 首页 > 图文教程 > 网络编程 > ASP > 利用ASP制作EXECL报表方法(一)

ASP
关于网站文件自动备份程序的一点思考
DBTree 1.3.2
抽取10万条数据,想起GetRows()
一份ASP内存的释放的实验报告
[整理版]ASP常用内置函数
Jmail组件发送邮件之绝对能用的函数
虚拟主机重启代码
Access 开发人员常犯错误大全
用Asp如何实现防止网页频繁刷新?
ASP 中使用 HTTP 协议发送参数详解
为什么 Windows2003 的 IIS6.0 不能上传超过 200K 的文件?
ASP类的写法
实例学习如何在ASP中调用DLL
被动式统计网站在线人数
[原创]完美解决ASP 不能更新。数据库或对象为只读。
5天学会asp
Wrance的图片系统目录直读版1.0
信息发布中的判断过期和有效期的东西
小偷程序2
一个ASP中的数组

利用ASP制作EXECL报表方法(一)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 109 ::
收藏到网摘: n/a

  很多时候我们需要把表格形式的数据转换成EXECL的形式呈现在用户面前,其中有好几个方法可以做到一点,我将介绍一种利用ASP完成的方法,该方法允许服务器动态地创建EXECL报表而且不用占用任何服务器空间。该方法还允许多个用户同时收到该数据。但是该方法至少需要EXECL 97的支持。
   废话少说,要完成这个工作最重要的是要告诉浏览器HTTP头,就用如下代码:

   <%
       Response.ContentType = "application/vnd.ms-excel"
   %>

   下面来看一个例子,假设现在有如下形式的数据:
   flavor      qty_baked      qty_eaten     qty_sold     price
   Boston      24             2             10           0.5
   Jelly       24             1             12           0.5
   Strawberry  36             1             15           0.5
   Chocolate   24             2             6            0.75
   Maple       12             1             6            0.75

   客户要求用EXECL的形式表现出来,并且希望其中能加上其他一些计算汇总

   用如下代码:
   ……
  <%
   Response.ContentType = "application/vnd.ms-excel"

   set conntemp=server.createobject("adodb.connection")
    cnpath="DBQ=" & server.mappath("/stevesmith/data/timesheet.mdb")
    conntemp.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & cnpath
    set RS=conntemp.execute("select * from donut")
    %>
     <TABLE BORDER=1>
    <TR>
    <%
   ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   ' % Loop through Fields Names and print out the Field Names
   ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    j = 2 'row counter
    For i = 0 to RS.Fields.Count - 1
    %>
    <TD><B><% = RS(i).Name %></B></TD>
    <% Next %>
    <TD><B>On Hand (calculated)</B></TD>
    <TD><B>Gross (calculated)</B></TD>
    </TR>
    <%
   ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   ' % Loop through rows, displaying each field
   ' %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    Do While Not RS.EOF
    %>
    <TR>
   &n