C#使用OleDbConnection连接读取Excel的方法

c#
1009
2023/7/29 13:15:00
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

使用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文件路径和工作表名称进行相应的修改,并根据需要进行异常处理。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: c#如何获取当前程序的路径