C# 通过OleDb读取打开的Excel文件

excel

1个回答

写回答

220171164

2025-06-20 14:40

+ 关注

excel
excel

使用C#语言通过OleDb来读取打开的excel文件是一种方便且高效的方法。OleDb是Microsoft提供的一种数据访问组件,它允许我们连接和操作各种数据源,包括excel文件。在本文中,我们将学习如何使用C#通过OleDb来读取excel文件中的数据,并提供一个案例代码来帮助理解。

首先,我们需要在C#项目中引用System.Data.OleDb命名空间。然后,我们可以使用OleDbConnection类来建立与excel文件的连接。连接字符串需要指定excel文件的路径、版本和其他相关参数。下面是一个示例连接字符串的代码:

csharp

string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=yourFilePath;Extended Properties='excel 12.0;HDR=YES;IMEX=1;'";

请注意,上述示例中的"yourFilePath"需要替换为实际excel文件的路径。

接下来,我们可以使用OleDbDataAdapter类来执行SQL查询语句,并获取excel文件中的数据。以下是一个示例代码片段,展示了如何读取excel文件中的数据并将其存储在DataSet中:

csharp

using (OleDbConnection connection = new OleDbConnection(connectionString))

{

connection.Open();

OleDbCommand command = new OleDbCommand("SELECT * FROM [Sheet1$]", connection);

OleDbDataAdapter adapter = new OleDbDataAdapter(command);

DataSet dataSet = new DataSet();

adapter.Fill(dataSet);

}

上述代码中的SQL查询语句"SELECT * FROM [Sheet1$]"表示我们将选择excel文件中名为"Sheet1"的工作表,并读取所有的数据。

接下来,我们可以通过遍历DataSet中的DataTable来获取excel文件中的每一行数据。以下是一个示例代码片段,演示了如何将excel文件中的数据打印到控制台上:

csharp

foreach (DataTable table in dataSet.Tables)

{

foreach (DataRow row in table.Rows)

{

foreach (DataColumn column in table.Columns)

{

Console.Write(row[column] + "\t");

}

Console.WriteLine();

}

}

上述代码将依次输出excel文件中每一行的数据,并使用制表符进行分隔。

案例代码示例:

csharp

using System;

using System.Data;

using System.Data.OleDb;

namespace excelReader

{

class Program

{

static void MAIn(string[] args)

{

string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=yourFilePath;Extended Properties='excel 12.0;HDR=YES;IMEX=1;'";

using (OleDbConnection connection = new OleDbConnection(connectionString))

{

connection.Open();

OleDbCommand command = new OleDbCommand("SELECT * FROM [Sheet1$]", connection);

OleDbDataAdapter adapter = new OleDbDataAdapter(command);

DataSet dataSet = new DataSet();

adapter.Fill(dataSet);

foreach (DataTable table in dataSet.Tables)

{

foreach (DataRow row in table.Rows)

{

foreach (DataColumn column in table.Columns)

{

Console.Write(row[column] + "\t");

}

Console.WriteLine();

}

}

}

}

}

}

以上就是使用C#通过OleDb来读取打开的excel文件的方法和案例代码。希望本文能够帮助你了解如何使用C#来处理excel文件中的数据。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号