C#OleDb读取Excel代码,代码展示
时间: 2024-12-02 18:19:41 浏览: 16
在C#中,使用`System.Data.OleDb`命名空间下的`OleDbConnection`和`OleDbCommand`类可以读取Excel(.xls或.xlsx)文件。下面是一个简单的示例代码片段,展示了如何打开并读取XLSX文件中的数据:
```csharp
using System;
using System.Data.OleDb;
class Program
{
static void Main()
{
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=<your_file_path>.xlsx;Extended Properties='Excel 12.0;HDR=YES'";
// 创建连接对象
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
try
{
// 打开连接
connection.Open();
// 构造SQL查询(这里假设第一张工作表名为"Sheet1")
string sql = "SELECT * FROM [Sheet1$]";
// 创建命令对象
using (OleDbCommand command = new OleDbCommand(sql, connection))
{
// 创建数据适应器
OleDbDataAdapter adapter = new OleDbDataAdapter(command);
// 获取数据集
DataSet dataSet = new DataSet();
adapter.Fill(dataSet, "Table");
// 处理数据集(例如打印所有记录)
foreach (DataRow row in dataSet.Tables["Table"].Rows)
{
Console.WriteLine(row.ItemArray);
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
Console.ReadLine(); // 保持控制台窗口打开
}
}
```
在这个例子中,你需要将 `<your_file_path>` 替换为你实际的Excel文件路径。注意,这个代码假设Excel文件的第一张工作表没有标题行(`HDR=YES`表示有标题行)。如果工作表有标题行,你可以去掉`HDR=YES`或改为`HDR=NO`。
阅读全文