当前位置: 首页 > 图文教程 > 网络编程 > ASP > asp实现在web中显示电子表格数据(二)生成HTML表格

ASP
分享一段代码show.asp?id=26变成show/?26的形式
多域名一网站时如果返回最原来的域名
[原创]完美解决ASP 不能更新。数据库或对象为只读。
5天学会asp
TSYS中生成静态页时溢出: ''CInt''
对象标记具有无效的 ''MSWC.MyInfo'' ProgID
[原创]随机增加网站点击的一个不错的方法
Microsoft JET Database Engine 错误 ''80004005'' 未指定的错误的完美解决方法
反SPAM新思路—换Z-BLOG的验证码!
七步倒┈→专用asp后门
asp下实现代码的“运行代码”“复制代码”“保存代码”功能源码
使用ASP实现网站的“目录树”管理的代码
ShowPage 显示“上一页 下一页”等信息的封装代码
[原创]站长感慨asp编程究竟何去何从
响应对象 错误 ''ASP 0185 : 80020003'' 缺少默认属性
[原创]asp下用实现模板加载的的几种方法总结
[原创]asp获取URL参数的几种方法分析总结
Access数据库中“所有记录中均未找到搜索关键字”的解决方法
ASP程序中输出Excel文件实例一则
ASP应用中如何限制同一表单被多次提交

ASP 中的 asp实现在web中显示电子表格数据(二)生成HTML表格


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

  过程的最后一步是格式化数据并显示,就是建立一个HTML输出,步骤如下:

依次循环记录集(Recordset)中每一个字段(Field),写标题
依次循环记录集和每一个字段,写数值
   例程代码将整个的HTML表格组合为一个长字符串,最后输出到HTML页面。字符串初始化为如下值:

DataTable = "< table >< tr >"

   电子数据表的列的必要信息由记录集对象的Field集合产生,它包括了一系列字段对象,可以使用它们的Name属性建立标题行。

For Each oField in oRs.Fields
    DataTable = DataTable & "< th >" & oField.Name & "< /th >"
Next
DataTable = DataTable & "< /tr >"

   最新打开的记录集(recordset)自动将初始位置指向第一行,使用MoveNext方法移动记录指针,顺序存取每一行,直到整个记录集的末尾。当到记录集末尾时,属性Eof的值变成True,循环结束。在循环中,通过字段集合的列举以及对应的Value属性,从而达到单元格数据的存取。

Do While Not oRs.EOF
    DataTable = DataTable & "< tr >"

    For Each oField in oRs.Fields
        DataTable = DataTable & "< td >" & oField.Value & "< /td >"
    Next

    DataTable = DataTable & "< /tr >"
    oRs.MoveNext
Loop

   最后,加上HTML的表格结束标记,输出整个字符串到页面,形成了动态产生的表格。由于记录集对象不再需要,所以要释放它。

DataTable = DataTable & "< /table >"
Set oRs = Nothing

Response.Write DataTable

   在总结前,有必要说明一个小的定义在电子数据表是如何解释的。

   通常,在ADO中将一定范围内的第一行解释为一套列标题,尽管在ODBC中有明文定义的选项可以禁止这种解释,但我也不愿意在ADO中这么做。如果第一行包含数字信息,那么ADO中将返回通用的字段名,比如:F1,F2,等等...,这样就不能看到数字的值。而且,ADO也会将第一行中的“非字母、非数字”字符替换为符号#。