ASP.NET Core读取Excel文件
简介
该代码片段展示了使用NPOI 2.7.5库读取Excel文件(.xlsx)并转换为JSON格式数据的过程。
通过XSSFWorkbook打开文件流,逐行读取单元格内容,过滤空行和空值,将有效数据存入列表,最后将特定列(SN、PIN、InnerSN)序列化为JSON输出。
使用的组件
NPOI ,2.7.5

组件项目
https://github.com/nissl-lab/npoi
直接上代码
static void Main(string[] args){using var stream = new FileStream("1.xlsx", FileMode.Open) { Position = 0 };XSSFWorkbook xssWorkbook = new XSSFWorkbook(stream);var list = new List<List<string?>?>();ISheet sheet = xssWorkbook.GetSheetAt(0);int cellCount = sheet.GetRow(0).LastCellNum;for (int i = (sheet.FirstRowNum + 1); i <= sheet.LastRowNum; i++){IRow row = sheet.GetRow(i);if (row == null) continue;if (row.Cells.All(d => d.CellType == CellType.Blank)) continue;var rowList = new List<string?>();for (int j = row.FirstCellNum; j < cellCount; j++){if (row.GetCell(j) != null){if (!string.IsNullOrEmpty(row.GetCell(j).ToString()) && !string.IsNullOrWhiteSpace(row.GetCell(j).ToString())){rowList.Add(row.GetCell(j).ToString());}}}list.Add(rowList);}var aa = JsonSerializer.Serialize(list.Select(x => new { SN = x[0], PIN = x[1], InnerSN = x[3] }));Console.WriteLine(aa);}
