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

ASP
Access 2000 数据库 80 万记录通用快速分页类
Microsoft JET Database Engine 错误 ''80004005'' 未指定的错误的完美解决方法
收藏的ASP常用的函数集
asp分页的一个类
ASP开发网页牢记注意事项
ASP下操作Excel技术总结分析
ASP数据岛操作类
ASP经典分页类
asp论坛在线人数统计研究
ASP调用SQL SERVER存储程序
asp输出bmp
ASP连接数据库的全能代码
ASP面向对象编程探讨及比较
web文件管理器的后续开发
一小偷类!!有兴趣的可以看看
利用ASP实现事务处理的方法
大数量查询分页显示 微软的解决办法
如何把ASP编写成DLL
asp实现树型结构
超级ASP大分页_我的类容我做主

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 230 ::
收藏到网摘: 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也会将第一行中的“非字母、非数字”字符替换为符号#。