建立樣本 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 從資料集對象更新資料庫
注意:此處作為樣本舉出的公司、組織、產品、網域名稱、電子郵件地址、徽標、人名、地名和事件完全是虛構的。決無意影射,也不應由此臆測任何真實的公司、組織、產品、網域名稱、電子郵件地址、徽標、人名、地名和事件。