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

直接上代码

csharp 复制代码
 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);
 }
相关推荐
技术小甜甜1 天前
[办公效率] Excel 表格越做越乱,先整理字段、格式还是公式?
数据库·excel·办公效率·数据整理
SunnyDays10111 天前
如何使用 C# 自动调整 Excel 行高和列宽
开发语言·c#·excel
itgather1 天前
OfficeExcel — Word / Excel DLL 验证台功能介绍
c#·word·excel
葡萄城技术团队1 天前
【SpreadJS 新版本特性揭秘】完美对齐 Excel 365:V19.1 单元格内嵌图片架构解析
excel
qq_422152571 天前
Excel 转 CSV 工具怎么选?格式兼容、编码问题与数据导出方案实测
excel
҉人间无事人1 天前
wps中excel跨表通过匹配数据取其他值
excel·wps
sbjdhjd1 天前
04 (下) | K8S微服务实战:从 Service 到金丝雀发布
运维·微服务·云原生·kubernetes·开源·云计算·excel
sbjdhjd2 天前
04(上)| k8s中的微服务
微服务·云原生·kubernetes·开源·云计算·excel·kubelet
SunnyDays10112 天前
使用 C# 添加、修改和删除 Excel VBA 宏 (无需 Microsoft Office Interop)
c#·excel··vba
OliverH-yishuihan2 天前
Excel中把一列数据转换成逗号隔开的一行
excel