C#二维数组读取EXECL
时间: 2023-10-19 09:13:05 浏览: 176
你可以使用 C# 中的 ExcelDataReader 库来读取 Excel 文件中的数据。下面是一个示例代码,演示如何读取一个名为 "data.xlsx" 的 Excel 文件中的数据:
```csharp
using System;
using System.Data;
using System.IO;
using ExcelDataReader;
class Program
{
static void Main(string[] args)
{
// 将 Excel 文件读入内存流
FileStream stream = File.Open("data.xlsx", FileMode.Open, FileAccess.Read);
IExcelDataReader excelReader = ExcelReaderFactory.CreateOpenXmlReader(stream);
// 读取 Excel 数据
DataSet result = excelReader.AsDataSet();
DataTable table = result.Tables[0];
// 将数据转换为二维数组
int rowCount = table.Rows.Count;
int colCount = table.Columns.Count;
string[,] data = new string[rowCount, colCount];
for (int row = 0; row < rowCount; row++)
{
for (int col = 0; col < colCount; col++)
{
data[row, col] = table.Rows[row][col].ToString();
}
}
// 打印二维数组中的数据
for (int row = 0; row < rowCount; row++)
{
for (int col = 0; col < colCount; col++)
{
Console.Write("{0}\t", data[row, col]);
}
Console.WriteLine();
}
// 关闭 Excel 数据读取器和内存流
excelReader.Close();
stream.Close();
}
}
```
在上面的代码中,我们首先使用 `File.Open` 方法将 Excel 文件读入内存流中,然后使用 `ExcelReaderFactory.CreateOpenXmlReader` 方法创建一个 Excel 数据读取器。接着,我们使用 `excelReader.AsDataSet` 方法读取 Excel 数据,并将其转换为 `DataSet` 对象。然后,我们从 `DataSet` 中获取第一个表格,并将其转换为 `DataTable` 对象。接着,我们使用两个循环将 `DataTable` 中的数据转换为二维数组。最后,我们打印二维数组中的数据,并关闭 Excel 数据读取器和内存流。
阅读全文