C# 通过NPOI读取excel到gridcontrol控件中
在C#中,你可以使用NPOI库(NuGet包Apache POI的一个.NET封装)来读取Excel文件并将其数据填充到DataGridView(GridControl)控件中。以下是简单的步骤:
首先,确保已经安装了NPOI库。如果你还没有安装,可以使用NuGet Package Manager或命令行工具(
Install-Package NPOI
)来添加。引入必要的命名空间:
using System.IO; using NPOI.HSSF.usermodel; // 对于处理HSSF(.xls文件) // 或者 using NPOI.XLSX.usermodel; // 对于处理XLSX(.xlsx文件) using System.Data;
创建一个方法来读取Excel文件并将数据加载到DataGridView: ```csharp public void LoadDataFromExcel(string filePath, DataGridView dataGridView) { if (File.Exists(filePath)) { Workbook workbook; ISheet sheet; // 根据文件类型选择合适的Workbook打开方式 if (Path.GetExtension(filePath).Equals(".xls")) workbook = new HSSFWorkbook(File.Open(filePath)); else if (Path.GetExtension(filePath).Equals(".xlsx")) workbook = new XSSFWorkbook(File.Open(filePath)); try { sheet = workbook.GetSheetAt(0); // 假设第一个工作表 DataTable dataTable = new DataTable(); var rowIterator = sheet.LastRowNum == -1 ? sheet.FirstRowNum : sheet.LastRowNum + 1; for (int rowNum = rowIterator; rowNum > 0; rowNum--) { Row row = sheet.GetRow(rowNum); if (row != null) { var dataRow = dataTable.NewRow(); foreach (var cell in row.Cells) { dataRow[cell.ColumnIndex] = cell.StringCellValue; // 如果是字符串值 // 对于其他类型的cell,比如数字、日期等,需要转换处理 } dataGridView.Rows.Add(dataRow); } } } finally { workbook.Close(); // 关闭文件 } } else { throw new FileNotFoundException("Excel file not found."); }
}
4. 调用该方法并将结果显示在DataGridView上:
```csharp
LoadDataFromExcel("path_to_your_excel_file.xlsx", dataGridView1);
相关推荐


















