当前位置: 首页 > 图文教程 > 网络编程 > ASP > asp实现在web中显示电子表格数据(三)创建数据表列表和名字范围

ASP
ASP 编程中20个非常有用的例子(一)
ASP 编程中20个非常有用的例子(二)
ASP基础教程:ADO存取数据库时如何分页显示
ASP基础教程:其它的ASP常用组件
ASP基础教程:学习ASP中子程序的应用
ASP基础教程之ASP程序对Cookie的处理
ASP基础教程之实例学习ASP Response 对象
ASP基础教程之ASP AdRotator 组件的使用
ADO初学者教程:ADO 通过GetString()加速脚本
初学者来认识OLEDB和ODBC的区别
ASP常见数学函数 Abs Atn Cos 等详细详解
VBScript新手入门初学教程:VBScript简介
有用的无声递交表单的客户端函数
Windows 2003 安装设置iis
ASP技巧实例:几行代码解决防止表单重复提交
ASP读sql数据时出现乱码问题的解决方法
ASP技巧实例:使用ASP记录在线用户的数量
ASP技巧实例:关于对表单操作的程序
ASP技巧实例:ASP实现最简洁的多重查询的解决方案
ASP实例:利用缓存提高数据显示效率

ASP 中的 asp实现在web中显示电子表格数据(三)创建数据表列表和名字范围


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

  除了“读取Excel数据形成HTML表格”的技术外,你可能有兴趣想了解怎样用程序实现电子数据表和名字范围的下拉菜单列表。

除了单元格的内容,用ADO还能知道更多的信息---在上面,已经讨论了用它得到字段名的列表。

   调用OpenSchema方法,可以得到当前打开数据库(同样适用于电子数据簿)的特殊记录集,在这里讨论的例程中,是取回了当前电子数据簿的电子数据表和名字范围。在数据库的操作中,通过传递给ADO一个adSchemaTablesas命令参数,就可以得到所有表的信息。

   Set oSchemaRs = oConn.OpenSchema(adSchemaTables)

   上述调用将返回一个记录集信息,对于文件TheWorkbook.xls,结果是:

   TABLE_NAME TABLE_TYPE
Employees$ SYSTEM TABLE
ListOfProducts$ SYSTEM TABLE
Suppliers$ SYSTEM TABLE
A_Duplicate_Name TABLE
Alphabetical_List_of_Products TABLE
Employees TABLE
ListOfProducts$A_Duplicate_Name TABLE
Product_Totals TABLE


   和记录集相比较,电子数据工作簿中的电子数据表(worksheets)被当作系统表,名字范围被当作通常表。通常情况下,无名范围(可以使用!)不被记录集报告。

   掌握了这些信息,创建字段下拉菜单就成了分离两个表类型和使用合适的标记的工作了。比如,可以执行下面的HTML/ASP代码段来创建工作表列表的下拉菜单:

< select name="XlSheet" >
< %
vOptions = "< option >< /option >"
Do While Not oSchemaRs.EOF
   If oSchemaRs("TABLE_TYPE") = "SYSTEM TABLE" Then
      vOptions = vOptions & "< option >" & _
            Server.HtmlEncode(oSchemaRs("TABLE_NAME")) & _
      "< /option >    
   End If
   oSchemaRs.MoveNext
Loop    
Response.Write vOptions
% >
< /select >
   实际的ReadX1.asp代码中可能还复杂一些,因为要处理上一个选项的显示,同时要使用客户端的JavaScript脚本检查输入的合法性。