C#使用OleDbConnection连接读取Excel的方法
使用C#连接读取Excel的方法需要使用`OleDbConnection`类。首先需要在项目中引用`System.Data.OleDb`命名空间。
以下是一个示例代码,用于连接并读取Excel文件中的数据:
```csharp
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文件路径和工作表名称进行相应的修改,并根据需要进行异常处理。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341