使用C#連接讀取Excel的方法需要使用OleDbConnection
類。首先需要在項目中引用System.Data.OleDb
命名空間。
以下是一個示例代碼,用于連接并讀取Excel文件中的數據:
using System;
using System.Data;
using System.Data.OleDb;
class Program
{
static void Main()
{
// Excel文件路徑
string filePath = @"C:\path\to\your\file.xlsx";
// 連接字符串
string connectionString = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={filePath};Extended Properties='Excel 12.0;HDR=YES;'";
// 創建OleDbConnection對象
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
try
{
// 打開連接
connection.Open();
// 查詢語句
string query = "SELECT * FROM [Sheet1$]";
// 創建OleDbDataAdapter對象
using (OleDbDataAdapter adapter = new OleDbDataAdapter(query, connection))
{
// 創建DataTable對象
DataTable dataTable = new DataTable();
// 填充DataTable
adapter.Fill(dataTable);
// 遍歷DataTable中的數據
foreach (DataRow row in dataTable.Rows)
{
foreach (DataColumn column in dataTable.Columns)
{
// 輸出每個單元格的值
Console.WriteLine(row[column]);
}
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
Console.ReadLine();
}
}
在這個示例中,我們首先指定了Excel文件的路徑,然后創建了一個連接字符串。連接字符串中的Provider
屬性指定了數據提供程序,Data Source
屬性指定了Excel文件的路徑,Extended Properties
屬性指定了Excel文件的版本和表頭行。根據你的Excel文件版本,你可能需要使用不同的數據提供程序和擴展屬性。
然后,我們使用OleDbConnection
類創建了一個連接對象,并將連接字符串傳遞給它。我們使用Open
方法打開連接。
接下來,我們定義了一個查詢語句,用于從Excel文件的Sheet1
工作表中檢索數據。然后,我們使用OleDbDataAdapter
類創建了一個適配器對象,并將查詢語句和連接對象傳遞給它。
然后,我們創建了一個DataTable
對象,并使用適配器的Fill
方法將數據填充到表中。
最后,我們使用嵌套的foreach
循環遍歷DataTable
中的每一行和每一列,并輸出每個單元格的值。
請確保根據實際的Excel文件路徑和工作表名稱進行相應的修改,并根據需要進行異常處理。