c# npoi 读入 excel 到 datatable
时间: 2023-08-27 20:07:16 浏览: 136
C# NPOI 导出Excel成DataTable
5星 · 资源好评率100%
你可以使用 NPOI 库来读取 Excel 文件并将其转换为 DataTable。
首先,需要在你的项目中安装 NPOI 库。你可以通过 NuGet 包管理器来安装。在 Visual Studio 中,右键单击你的项目,选择“管理 NuGet 包”,然后搜索 NPOI 并安装它。
下面是一个示例代码,演示如何将 Excel 文件读取到 DataTable 中:
```csharp
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System.Data;
public static DataTable ReadExcelToDataTable(string filePath)
{
DataTable dataTable = new DataTable();
using (var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read))
{
var workbook = new XSSFWorkbook(fs);
var sheet = workbook.GetSheetAt(0);
// 获取列头
var headerRow = sheet.GetRow(0);
int cellCount = headerRow.LastCellNum;
for (int i = headerRow.FirstCellNum; i < cellCount; i++)
{
var column = new DataColumn(headerRow.GetCell(i).StringCellValue);
dataTable.Columns.Add(column);
}
// 获取数据
int rowCount = sheet.LastRowNum;
for (int i = (sheet.FirstRowNum + 1); i <= rowCount; i++)
{
var row = sheet.GetRow(i);
DataRow dataRow = dataTable.NewRow();
for (int j = row.FirstCellNum; j < cellCount; j++)
{
if (row.GetCell(j) != null)
{
dataRow[j] = row.GetCell(j).ToString();
}
}
dataTable.Rows.Add(dataRow);
}
}
return dataTable;
}
```
在上述代码中,我们首先使用 FileStream 打开 Excel 文件。然后,我们使用 XSSFWorkbook 类来读取文件,并选择第一个工作表。接下来,我们获取列头,并将它们添加到 DataTable 中。最后,我们遍历所有行并将它们添加到 DataTable 中。
你可以通过调用 `ReadExcelToDataTable` 方法来读取 Excel 文件并将其转换为 DataTable:
```csharp
string filePath = "path/to/your/excel/file.xlsx";
DataTable dataTable = ReadExcelToDataTable(filePath);
```
注意:在使用 NPOI 读取 Excel 文件时,请确保你已正确安装并引用了所需的库,在读取 Excel 文件时需要使用正确的类。
阅读全文