已知文件夹路径,文件夹里有多个E0xcel表格,使用C#查找表格指定行与列对应的数据
时间: 2024-02-23 10:02:55 浏览: 74
可以使用C#中的.NET库来操作Excel表格,以下是一个简单的示例代码,可以根据指定的行与列查找对应的数据:
```csharp
using System;
using System.IO;
using System.Data;
using System.Data.OleDb;
string folderPath = "C:\\ExcelFiles\\";
string fileName = "example.xlsx";
string sheetName = "Sheet1";
int rowIndex = 3; //第4行
int colIndex = 2; //第3列
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Path.Combine(folderPath, fileName) + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1;'";
OleDbConnection connection = new OleDbConnection(connectionString);
connection.Open();
OleDbCommand command = new OleDbCommand("SELECT * FROM [" + sheetName + "$]", connection);
OleDbDataAdapter adapter = new OleDbDataAdapter(command);
DataSet dataSet = new DataSet();
adapter.Fill(dataSet);
DataTable table = dataSet.Tables[0];
DataRow row = table.Rows[rowIndex - 1];
string data = row[colIndex - 1].ToString(); //注意数组下标从0开始,所以要减1
Console.WriteLine("数据为:" + data);
connection.Close();
```
这段代码中,我们首先指定了文件夹路径、文件名、工作表名以及要查找的行列索引。然后使用OleDbConnection连接Excel文件,并使用OleDbDataAdapter将数据填充到DataSet中。最后,根据指定的行列索引获取对应单元格的数据。
需要注意的是,这段代码使用了Microsoft ACE OLEDB 12.0驱动程序,需要在计算机上安装Access Database Engine才能正常运行。此外,还需要在Excel文件的第一行设置列名,才能通过列名来引用数据。
阅读全文