你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / 数据库开发
如何使用 ASP.NET、ADO.NET 和 Visual Basic .NET 查询和显示 Excel 数据
 

概要

本分步指导文章演示了如何使用 Visual Basic .NET 通过 ASP.NET (.aspx) 页来显示 Excel 电子表格中的数据。

创建示例 Excel 工作表

1.

启动 Microsoft Excel,然后创建一个新的工作表。

2.

将以下信息添加到新工作表中以创建一个简单的 Excel 数据库:

 

A

B

1

FirstName

LastName

2

Scott

Bishop

3

Katie

Jordan


注意:虽然在本示例中数据是从单元格 A1 开始的,但是您可以将此数据添加到工作表中的任何邻接的单元格中。

3.

突出显示此数据所在的行和列。

4.

插入菜单上,指向名称,然后单击定义

5.

当前工作簿中的名称文本框中,键入 myRange1,然后单击确定

6.

文件菜单上,单击保存。在保存位置列表中,选择 Web 服务器的根目录(通常为 C:\InetPub\Wwwroot\)。在文件名文本框中,键入 ExcelData.xls。单击保存

7.

文件菜单上,单击退出

 

使用 Visual Basic .NET 创建 ASP.NET 示例

此代码示例说明如何查询和显示 Excel 工作表中的信息。以下代码使用您在上一节中创建的工作表。

1.

打开 Microsoft Visual Studio .NET。将显示 Visual Studio .NET 集成设计环境 (IDE)

2.

文件菜单上,指向新建,然后单击项目

3.

新建项目对话框的项目类型下面,单击“Visual Basic 项目。在模板下面,单击“ASP.NET Web 应用程序

4.

新建项目对话框中,找到名称位置文本框。请注意,名称框不可用(它显示为灰色或变暗)。位置文本框包含以下文本(或类似的文本):

http://localhost/WebApplication1

位置文本框中的文本替换为 http://localhost/ExcelCSTest,然后单击确定。此时将创建一个新项目,其中包括一个名为 WebForm1.aspx Web 窗体。

5.

Visual Studio .NET IDE 中,找到解决方案资源管理器窗口。如果找不到该窗口,请单击视图菜单上的解决方案资源管理器

6.

在解决方案资源管理器中,右键单击“WebForm1.aspx”,然后单击视图设计器以显示用于设计页面外观的设计器。可以使用该设计器,添加控件并处理页面的外观。

7.

查找工具箱。根据您的“IDE 选项设置,工具箱可能以窗口或按钮的形式出现(通常出现在 IDE 的左侧)。如果找不到工具箱,请单击视图菜单上的工具箱

如果工具箱以按钮的形式出现,将指针移动到该按钮上以显示工具箱的内容。

8.

Web 窗体的设计器视图处于活动状态时,工具箱被划分为几部分,其中包括 Web 窗体、组件、HTML 和其他部分。单击 Web 窗体部分。

9.

在工具箱的 Web 窗体部分,单击“DataGrid”,然后将其拖到 WebForm1 的设计器上。

10.

右键单击“WebForm1.aspx”,然后单击查看代码以显示代码隐藏页的源代码。

11.

将以下语句添加到代码隐藏页的顶端“Public Class WebForm1”文本的上方:

Imports System.Data Imports System.Data.OleDb

12.

突出显示以下代码,右键单击该代码,然后单击复制。在 WebForm1.aspx.vb 页中,将该代码粘贴到“Page_Load”事件中:

' Create variables that are used in code sample. Dim i, j As Integer ' Create connection string variable. Modify the "Data Source" parameter as ' appropriate for your environment. Dim sConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" _ & "Data Source=" & Server.MapPath("../ExcelData.xls") _ & ";" & "Extended Properties=Excel 8.0;" ' Create the connection object by using the preceding connection string. Dim objConn As New OleDbConnection(sConnectionString) ' Open connection with the database. objConn.Open() ' The code to follow uses a SQL SELECT command to display the data from the worksheet. ' Create new OleDbCommand to return data from worksheet. Dim objCmdSelect As New OleDbCommand("SELECT * FROM myRange1", objConn) ' Create new OleDbDataAdapter that is used to build a DataSet ' based on the preceding SQL SELECT statement. Dim objAdapter1 As New OleDbDataAdapter() ' Pass the Select command to the adapter. objAdapter1.SelectCommand = objCmdSelect ' Create new DataSet to hold information from the worksheet. Dim objDataset1 As New DataSet() ' Fill the DataSet with the information from the worksheet. objAdapter1.Fill(objDataset1, "XLData") ' Build a table from the original data. DataGrid1.DataSource = objDataset1.Tables(0).DefaultView DataGrid1.DataBind() ' Clean up objects. objConn.Close()

13.

文件菜单中,单击全部保存来保存项目文件。

14.

生成菜单上,单击生成 ExcelVBTest”以生成项目。这就准备好了代码隐藏页中的代码,使之能够执行了。

15.

在解决方案资源管理器中,右键单击“WebForm1.aspx”,然后单击在浏览器中查看以运行代码。

 

其他代码说明

本文中的示例代码使用 Microsoft Jet OLE DB 提供程序访问 Excel 工作表。此代码使用以下连接字符串连接到工作表:

' Create connection string variable. Modify the "Data Source" parameter as ' appropriate for your environment. Dim sConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" _ & "Data Source=" & Server.MapPath("../ExcelData.xls") _ & ";" & "Extended Properties=Excel 8.0;"

正如注释中所描述的那样,必须修改特定 Excel 工作表的路径信息。此外,还必须设置 Extended Properties 参数的值,以便正确地连接到文件。

注意,连接字符串使用 Server.MapPath 函数。此函数使用文件相对于 Microsoft Internet 信息服务 (IIS) 的路径,并返回该文件的硬盘路径。例如,在创建示例 Excel 工作表 部分中,您在 Web 根目录中创建了 ExcelData.xls,该目录通常位于 C:\Inetpub\Wwwroot。这还在 Wwwroot 文件夹中创建了一个名为 ExcelVBTest 的子文件夹,并在 ExcelVBTest 文件夹中创建一个名为 WebForm1.aspx 的文件。

在本示例中,这两个文件的硬盘路径如下所示:

C 驱动器 - Inetpub - Wwwroot(其中包含 ExcelData.xls - ExcelVBTest(其中包含 WebForm1.aspx

文件的 IIS 路径如下所示:

Web 根目录(其中包含 ExcelData.xls - ExcelVBTest(其中包含 WebForm1.aspx

在本例中,WebForm1.aspx 页到 ExcelData.xls 文件的相对 路径为“../ExcelData.xls”“../”字符通知 IIS 转到上一级文件夹。因此,代码

Server.MapPath("../ExcelData.xls")

返回以下字符串:

C:\Inetpub\Wwwroot\ExcelData.xls

您无需使用 Server.MapPath。您也可以将此信息硬编码为一个特定的路径,或使用任何方法提供该 Excel 文件在硬盘上的位置。

参考

有关如何使用 ASP.NET 访问 Excel 文件的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

307021 (http://support.microsoft.com/kb/307021/) 如何使用 Visual Basic .NET Microsoft Excel 2002 传输 XML 数据

306022 (http://support.microsoft.com/kb/306022/) 如何使用 Visual Basic .NET Excel 工作簿传输数据

有关使用 ADO.NET 的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

301075 (http://support.microsoft.com/kb/301075/) 如何使用 ADO.NET Visual Basic .NET 连接到数据库并运行命令

301216 (http://support.microsoft.com/kb/301216/) 如何使用 Visual Basic .NET 从数据库填充 DataSet 对象

301248 (http://support.microsoft.com/kb/301248/) 如何使用 Visual Basic .NET DataSet 对象更新数据库

注意:此处作为示例举出的公司、组织、产品、域名、电子邮件地址、徽标、人名、地名和事件完全是虚构的。决无意影射,也不应由此臆测任何真实的公司、组织、产品、域名、电子邮件地址、徽标、人名、地名和事件。

 (转自 :MSDN)(编辑:Alex)

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089