欢迎光临
我们一直在努力

如何使用 ASP.NET查询和显示 Excel 数据-.NET教程,Asp.Net开发

建站超值云服务器,限时71元/月
如何使用 asp.net查询和显示 excel 数据

概要:本文介绍如何使用 visual c# .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 c# .net 创建 asp.net 示例

  此代码示例说明如何查询和显示 excel 工作表中的信息。以下代码使用您在上一节中创建的工作表。
  1. 打开 microsoft visual studio .net。此时将显示 visual studio .net 集成开发环境 (ide)。

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

  3. 在新建项目对话框的项目类型下面,单击 visual c# 项目。在模板下面,单击 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. 将下面的语句添加到代码隐藏页顶部的命名空间部分之上:

  using system.data.oledb;
  using system.data;


  12. 突出显示以下代码,右键单击该代码,然后单击复制。在 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();

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

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

  15. 在解决方案资源管理器中,右键单击 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 文件在硬盘上的位置。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 如何使用 ASP.NET查询和显示 Excel 数据-.NET教程,Asp.Net开发
分享到: 更多 (0)