c# 怎么逐行读取 excel
时间: 2023-12-08 10:06:51 浏览: 161
C# 读取Excel
你可以使用 C# 中的 OLEDB 数据提供程序来读取 Excel 文件的内容。以下是一个简单的代码示例,演示如何逐行读取 Excel 文件:
```csharp
using System.Data;
using System.Data.OleDb;
// 设置连接字符串
string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\example.xlsx;Extended Properties='Excel 12.0 Xml;HDR=YES;'";
// 创建连接对象
using (var connection = new OleDbConnection(connectionString))
{
// 打开连接
connection.Open();
// 获取工作表名称
DataTable sheetTable = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string sheetName = sheetTable.Rows[0]["TABLE_NAME"].ToString();
// 创建 SQL 查询语句
string sql = $"SELECT * FROM [{sheetName}]";
// 创建命令对象
using (var command = new OleDbCommand(sql, connection))
{
// 执行查询
using (var reader = command.ExecuteReader())
{
// 逐行读取数据
while (reader.Read())
{
// 获取当前行的数据
object[] rowValues = new object[reader.FieldCount];
reader.GetValues(rowValues);
// 处理当前行的数据
foreach (object value in rowValues)
{
Console.Write(value.ToString() + "\t");
}
Console.WriteLine();
}
}
}
}
```
这个代码示例使用了 OLEDB 数据提供程序来连接到 Excel 文件,并执行了一个 SQL 查询语句来获取所有数据。然后,使用一个 `while` 循环来逐行读取数据,每次读取一行数据并处理。
阅读全文