C# ClosedXML 将特定行中单元格的值分配给字符串

C# ClosedXML assign values from cells in a specific row to string

我在我的脚本的其他地方使用 ClosedXML,我像这样遍历每一行并且它有效。

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

foreach (var row in rows)
{
    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();
    }
}

之后,我需要从随机选择的行中的单元格中提取数据。这是我到目前为止所得到的,但没有用...

var workbook = new XLWorkbook(extFile);
var ws       = workbook.Worksheets.Add("Cell Values");
var rnd      = new Random();
int rowNum   = rnd.Next(2, workbook.Worksheet(1).RangeUsed().RowsUsed().Count());
var dataRow  = ws.Row(rowNum);

string dangit = dataRow.Cell(1).GetString();
System.Diagnostics.Debug.WriteLine("Why is this dang thing not working... " + dangit);

输出:为什么这该死的东西不工作...

它只是空着回来。没有错误。有人看到我没看到的东西吗?

好的,我找到了解决方案。

我改线了... var ws = workbook.Worksheets.Add("Cell Values");

到.... var ws = workbook.Worksheet(1);

现在可以了.... Storage.StreetAddress = ws.Cell(xlRow, 1).GetString();