溫馨提示×

C#中怎么使用OleDbConnection連接讀取Excel

小億
171
2023-08-09 09:48:38
欄目: 編程語言

在C#中使用OleDbConnection連接讀取Excel文件,可以按照以下步驟進行操作:

  1. 引入System.Data.OleDb命名空間。
using System.Data.OleDb;
  1. 創(chuàng)建一個OleDbConnection對象,并設(shè)置連接字符串。
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=<Excel文件路徑>;Extended Properties='Excel 12.0;HDR=YES;IMEX=1';";
OleDbConnection connection = new OleDbConnection(connectionString);

在連接字符串中,Provider指定了使用的OleDb提供程序,Data Source指定了Excel文件的路徑,Extended Properties指定了Excel文件的屬性,如版本、是否包含標題等。

  1. 打開連接。
connection.Open();
  1. 創(chuàng)建一個OleDbCommand對象,并設(shè)置SQL查詢語句。
string sql = "SELECT * FROM [Sheet1$]";
OleDbCommand command = new OleDbCommand(sql, connection);

這里的Sheet1是Excel文件中的工作表名稱。

  1. 執(zhí)行查詢,并獲取查詢結(jié)果。
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
// 處理查詢結(jié)果
}
  1. 關(guān)閉連接。
connection.Close();

完整的示例代碼如下:

using System.Data.OleDb;
namespace ReadExcel
{
class Program
{
static void Main(string[] args)
{
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=<Excel文件路徑>;Extended Properties='Excel 12.0;HDR=YES;IMEX=1';";
OleDbConnection connection = new OleDbConnection(connectionString);
connection.Open();
string sql = "SELECT * FROM [Sheet1$]";
OleDbCommand command = new OleDbCommand(sql, connection);
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
// 處理查詢結(jié)果
}
connection.Close();
}
}
}

注意:在使用OleDbConnection連接讀取Excel文件時,需要確保計算機上已安裝適當?shù)尿?qū)動程序。例如,讀取.xlsx文件需要安裝Microsoft Access Database Engine。

0