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

ASP
ASP六大对象介绍
使用Filter实现信息的二次检索
让弹出窗口变得“听话”一些
在ASP中利用“正则表达式” 对象实现UBB风格的论坛
“Web 匿名用户”帐户密码的位置
对一些编程初学者的良言警句
ASP编程中15个非常有用的例子
精彩:ASP遗留的二十大积习
关于Asp代码与页面的分离
教大家如何利用ASP打造网站论坛DIY(1)
教大家如何利用ASP打造网站论坛DIY(2)
网站安全:防范ASP木马的十大基本原则
用ASP设计一个留言薄
趣味访客计数器设计两则
我的ASP之旅—二级联动菜单制作
ASP编程--新手上路篇:ASP技术简介
用ASP实现网上考试系统
请注意!常见的ASP脚本攻击及防范技巧
ASP开发的WAP格式简易邮件系统实例
asp基础教程:网页间数据传递方法小结

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 87 ::
收藏到网摘: 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