c#StreamReader读取excel转化dataset
时间: 2024-11-25 10:31:16 浏览: 6
C#读取Excel并转化成XML的方法
在C#中,你可以使用`Microsoft.Office.Interop.Excel`库来读取Excel文件,并结合`System.Data.DataTable`或`System.Data.DataSet`将数据转换为表格形式。以下是基本步骤:
1. 引入所需命名空间:
```csharp
using Microsoft.Office.Interop.Excel;
using System.Data;
```
2. 加载Excel应用并打开工作簿:
```csharp
Application excelApp = new Application();
Workbook workbook = excelApp.Workbooks.Open("path_to_your_excel_file.xlsx");
```
记得替换`"path_to_your_excel_file.xlsx"`为实际的Excel文件路径。
3. 选择工作表并获取活跃的工作表:
```csharp
Worksheet worksheet = workbook.ActiveSheet;
```
4. 使用`StreamReader`读取工作表数据:
由于`StreamReader`主要用于文本文件,这里一般不需要。直接从`Range`对象中获取数据更为合适。
5. 将范围数据转换为DataTable或DataSet:
```csharp
// 创建空的数据集
DataSet dataSet = new DataSet();
// 例如,如果单元格区域包含一列数据,可以这样处理:
string[] columnNames = { "Column1", "Column2" }; // 根据实际情况填写列名
string[,] data = (string[,])worksheet.Range["A1:B10"].Value; // 示例,替换为实际范围
foreach (string columnName in columnNames)
{
DataTable dataTable = new DataTable(columnName);
dataSet.Tables.Add(dataTable);
for (int i = 0; i < data.GetLength(0); i++)
{
DataRow newRow = dataTable.NewRow();
newRow[columnName] = data[i, 0];
dataTable.Rows.Add(newRow);
}
}
// 关闭工作簿和Excel应用程序
workbook.Close(false);
excelApp.Quit();
```
在这个例子中,我们创建了一个新的DataTable,然后逐行添加从Excel中提取的数据。最后别忘了关闭Excel应用程序。
阅读全文