程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> 如何使用 ASP.NET查詢和顯示 Excel 數據

如何使用 ASP.NET查詢和顯示 Excel 數據

編輯:.NET實例教程

     概要:本文介紹如何使用 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 文件在硬盤上的位置。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved