如何使用 ClosedXML 从 Excel 文件读取单元格值

Hea*_*gin 3 c# excel closedxml

        string TablePath = Storage.ProjectPath + "\\Tables\\";
        string ObjectRepPath = TablePath + "ObjectRepository.xlsx";

        string locType = " ";
        string locParm = " ";

        var workbook  = new XLWorkbook(ObjectRepPath);
        var ws1       = workbook.Worksheet(1).RangeUsed().RowsUsed().Skip(1);
        var totalRows = ws1.Count();
        var row       = ws1.Row;

        for (int rCnt = 1; rCnt <= totalRows; rCnt++)
        {
            var objPage    = ws1.Cell(rCnt, 0).Value;
            var objElement = ws1.Cell(rCnt, 1).Value;


            if (objPage == page && objElement == element)
            {
                locType = ws1.Cell(rCnt, 2);
                locParm = ws1.Cell(rCnt, 3);
            }
        }
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 ClosedXML 读取 Excel 文件。我找到的每个参考资料都说您可以使用 Worksheet.Cell(r,c),但它不包含 .Cell 的定义。.Row 也没有。我尝试过在 ClosedXML 下包含所有内容的“using”语句,但这也不起作用。我缺少什么?

给出错误...“IEnumerable[IXLRangeRow]”不包含“Cell”的定义,并且找不到接受“IEnumerable[IXLRangeRow]”类型的第一个参数的扩展方法“Cell”(您是否缺少 using 指令或装配参考?)

ws1.Cell 和 ws1.Row 均出错

支持此功能的参考文献应该可以工作... -使用 ClosedXML 从 Excel 文件读取 - https://github.com/latedxml/linedxml/wiki/Cell-Values

Hea*_*gin 6

好吧,找到解决办法了。感谢@Crowcoder 的指导...

        var workbook = new XLWorkbook(ObjectRepPath);
        var rows     = workbook.Worksheet(1).RangeUsed().RowsUsed().Skip(1);

        foreach (var row in rows)
        {
            var rowNumber  = row.RowNumber();

                objPage    = row.Cell(1).GetString();
                objElement = row.Cell(2).GetString();

            if (objPage == page && objElement == element)
            {
                locType = row.Cell(3).GetString();
                locParm = row.Cell(4).GetString();
            }
        }
Run Code Online (Sandbox Code Playgroud)