您可以为用户提供在 Microsoft Excel 中显示数据的选择,而不在 HTML 表中显示 Web 数据。本文演示如何使用从 Microsoft SQL Server 获取的表格式数据创建网页,并通过将网页内容与 Excel 中的 MIME 类型相关联,在浏览器中以 Excel 方式呈现该页。
要执行这些步骤并测试结果,您需要有:
- Microsoft Windows NT Server 4.0 SP3
- Microsoft Internet Information Server (IIS) 4.0 版或更高版本
- Microsoft SQL Server 6.5 或更高版本
- Microsoft Excel 97、Excel 2000 和 Excel 2002
分步过程
- 使用 ODBC 控制面板小程序创建一个名为“pubs”的系统 DSN。将 DSN 设置为引用您的本地 SQL Server,使用 SQL Server 身份验证,并使用“pubs”作为默认数据库。pubs 数据库的默认登录 ID 是 sa,没有密码。
- 使用 Notepad.exe 在您的 IIS 主目录(例如 inetpub\wwwroot)中创建一个名为 XlTest.asp 的文件,并向其中添加以下内容:
<%@ Language=VBScript %>
<%
'Change HTML header to specify Excel's MIME content type
Response.Buffer = TRUE
Response.ContentType = "application/vnd.ms-excel"
%>
<HTML>
<BODY>
Here is the info you requested.<p>
<%
' Create ADO Connection object
dim myConnection
set myConnection = CreateObject("ADODB.Connection")
' Open SQL Server Pubs database...
' myConnection.Open "DSN=pubs;UID=sa"
' Get a recordset of info from Authors table...
sqlStr = "SELECT au_fname,au_lname,phone FROM authors"
set rsAuthors = myConnection.Execute(sqlStr)
%>
<!-- Our table which will be translated into an Excel spreadsheet -->
<TABLE WIDTH=75% BORDER=1 CELLSPACING=1 CELLPADDING=1>
<TR>
<TD><font size=+2>First Name</font></TD>
<TD><font size=+2>Last Name</font></TD>
<TD><font size=+2>Phone</font></TD>
</TR>
<!-- server-side loop adding Table entries -->
<% do while not rsAuthors.EOF %>
<TR>
<TD><%=rsAuthors("au_fname")%></TD>
<TD><%=rsAuthors("au_lname")%></TD>
<TD><%=rsAuthors("phone")%></TD>
</TR>
<% rsAuthors.MoveNext
loop
' Clean up
rsAuthors.Close
set rsAuthors = Nothing
myConnection.Close
set myConnection = Nothing
%>
</TABLE>
</BODY>
</HTML>
- 保存 XlTest.asp,然后从客户端浏览器查看它。例如,http://MyServer/XlTest.asp(使用您的服务器名称替换 MyServer。)
如果客户机上安装了 Microsoft Excel 97,Microsoft Excel 将在浏览器中显示该数据。
文章编号: 199841 - 最后修改: 2005年10月24日 - 修订: 5.2
这篇文章中的信息适用于:
- Microsoft Visual InterDev 6.0 标准版
- Microsoft Internet Information Server 4.0
- Microsoft Internet Information Services 5.0
- Microsoft Excel 97 标准版
- Microsoft Excel 2000 标准版
- Microsoft Excel 2002 标准版
- Microsoft Office Excel 2003
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。