分享
 
 
 

如何使用 ASP.NET、ADO.NET 和 Visual C# .NET 查询和显示 Excel 数据

王朝c#·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

创建示例 Excel 工作表

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

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

A

B

1

FirstName

LastName

2

Scott

Bishop

3

Katie

Jordan

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

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

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

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

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

在文件菜单上,单击退出。返回页首

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

打开 Microsoft Visual Studio .NET。此时将显示 Visual Studio .NET 集成开发环境 (IDE)。

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

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

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

http://localhost/WebApplication1

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

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

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

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

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

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

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

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

将下面的语句添加到代码隐藏页顶部的命名空间部分之上:using System.Data.OleDb;

using System.Data;

突出显示以下代码,右键单击该代码,然后单击复制。在 WebForm1.aspx.cs 中,将这些代码复制到 Page_Load 事件中:// Create connection string variable. Modify the "Data Source"

// parameter as appropriate for your environment.

String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +

"Data Source=" + Server.MapPath("../ExcelData.xls") + ";" +

"Extended Properties=Excel 8.0;";

// Create connection object by using the preceding connection string.

OleDbConnection objConn = 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.

OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM myRange1", objConn);

// Create new OleDbDataAdapter that is used to build a DataSet

// based on the preceding SQL SELECT statement.

OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();

// Pass the Select command to the adapter.

objAdapter1.SelectCommand = objCmdSelect;

// Create new DataSet to hold information from the worksheet.

DataSet objDataset1 = new DataSet();

// Fill the DataSet with the information from the worksheet.

objAdapter1.Fill(objDataset1, "XLData");

// Bind data to DataGrid control.

DataGrid1.DataSource = objDataset1.Tables[0].DefaultView;

DataGrid1.DataBind();

// Clean up objects.

objConn.Close();

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

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

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

其他代码说明本文中的示例代码使用 Microsoft Jet OLE DB 提供程序访问 Excel 工作表。此代码使用以下连接字符串连接到工作表: // Create connection string variable. Modify the "Data Source"

// parameter as appropriate for your environment.

String sConnectionString = "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 文件夹中创建名为 ExcelCSTest 的子文件夹,并在 ExcelCSTest 文件夹中创建名为 WebForm1.aspx 的文件。

在此示例中,硬盘上的文件路径如下: C 驱动器

- Inetpub

- Wwwroot(其中包含 ExcelData.xls)

- ExcelCSTest(包含 WebForm1.aspx)

文件的 IIS 路径如下所示: Web 根目录(其中包含 ExcelData.xls)

- ExcelCSTest(包含 WebForm1.aspx)

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

返回以下字符串:

C:\Inetpub\Wwwroot\ExcelData.xls

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

返回页首

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有