使用ASP.NET(C#)查詢和顯示 Excel 資料

來源:互聯網
上載者:User
建立樣本 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 Form。

5. 在 Visual Studio .NET IDE 中,找到“方案總管”視窗。如果找不到該視窗,請單擊視圖菜單上的方案總管
6. 在方案總管中,按右鍵 WebForm1.aspx,然後單擊視圖設計器以顯示用於設計頁面外觀的設計器。可以使用該設計器,添加控制項並處理頁面的外觀。
7. 尋找工具箱。根據您的“IDE 選項”設定,工具箱可能以視窗或按鈕的形式出現(通常出現在 IDE 的左側)。如果找不到工具箱,請單擊視圖菜單上的工具箱

如果工具箱以按鈕的形式出現,將指標移動到該按鈕上以顯示工具箱的內容。

8. 當 Web Form的設計器視圖處於活動狀態時,工具箱被劃分為幾部分,其中包括 Web Form、組件、HTML 和其他部分。單擊 Web Form部分。
9. 在工具箱的 Web Form部分,單擊 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 檔案在硬碟上的位置。

返回頁首
參考有關使用 ASP.NET 訪問 Excel 檔案的其他資訊,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:

307029 如何使用 Visual C# .NET 向 Microsoft Excel 2002 傳輸 XML 資料 306023 如何使用 Visual C# .NET 向 Excel 活頁簿傳輸資料

有關使用 ADO.NET 的其他資訊,請單擊下面的文章編號,以查看 Microsoft 知識庫中相應的文章:

306636 如何使用 ADO.NET 和 Visual C# .NET 串連到資料庫並運行命令 314145 如何使用 Visual C# .NET 從資料庫填充 DataSet 對象 307587 如何使用 Visual C# .NET 從資料集對象更新資料庫

注意:此處作為樣本舉出的公司、組織、產品、網域名稱、電子郵件地址、徽標、人名、地名和事件完全是虛構的。決無意影射,也不應由此臆測任何真實的公司、組織、產品、網域名稱、電子郵件地址、徽標、人名、地名和事件。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.