从 Excel C# 中的数据行中查找最小列计数

本文关键字:查找 Excel 数据 | 更新日期: 2023-09-27 18:34:24

在Excel文档中,假设有如下所示的数据:

1 安培
2 b c
3 天 e f
4 g h i j k
5 升米牛顿

考虑到前两行是标题,数据行来自第三行。鉴于此数据为 3,如何从此数据中找到最小列数,因为所有行在所有列中都有公共数据。

我有两个类,如下所示

 public class RowEntity
 {
     public List<String> ColumnValues { get; set; }
 }
 public class FileEntity
 {
     public List<RowEntity> RowValues { get; set; }
 } 

可以访问的数据行可能如下所示:

List <RowEntity> dataRows = fileObj.RowValues.GetRange(int index, int count);

我需要有这样的东西:

    private int GetMinimumColumnCount(List <RowEntity> dataRows)
    {
        int minColCount;
        FileEntity fileObj = new FileEntity(); // to access the rows from the Excel file
        int headerLines; // can be changed but here set in given example
        // calculate the minColumnCount for the 
        return minColCount; 
    }

知道怎么做吗?

从 Excel C# 中的数据行中查找最小列计数

最终排序

使用可为 null 的 int 类型的原因是第一个值可以是 null,但最初将其设置为 0 永远不会正确检查。

    private int? GetMinimumColumnCount(List <RowEntity> dataRows)
    {
        int ? minColumnCount = null;
        for (int i = 0; i < dataRows.Count; i++)
        {
            if (minColumnCount == null || minColumnCount > dataRows[i].ColumnValues.Count) 
            {
                minColumnCount = dataRows[i].ColumnValues.Count; 
            }     
        }
        return minColumnCount; 
    }