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