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

C#ClosedXML将特定行中的单元格中的值分配给字符串,c#,closedxml,C#,Closedxml,我在脚本的其他地方使用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.Cel

我在脚本的其他地方使用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 damnit = dataRow.Cell(1).GetString();
System.Diagnostics.Debug.WriteLine("Why is this damn thing not working... " + damnit);
输出:为什么这该死的东西不工作

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 damnit = dataRow.Cell(1).GetString();
System.Diagnostics.Debug.WriteLine("Why is this damn thing not working... " + damnit);

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

好吧,我找到了解决办法

我换了台词。。。 var ws=workbook.Worksheets.Add(“单元格值”)

到。。。。 var ws=工作簿。工作表(1)

而现在这一切都起作用了。。。。
Storage.StreetAddress=ws.Cell(xlRow,1.GetString()

什么是
datarow.Cell(1).Address
?如果在Excel中打开文件,该地址的值是多少?地址是随机的,因此每次运行都不同。当我将其更改为.Address并运行时,它返回“C84”。文件中C84处的值为“AL”。所以它是一个有效/填充的字段。
ws.Cell(“C84”).GetString()返回什么?还是一个空字符串?该单元格是否包含公式或值?是的,返回时也没有任何内容。实际的C84单元格的值为“AL”。此外,如果有帮助。。。。。字符串testdata=cell.ToString()。。。。返回“ClosedXML.Excel.XLCell”/string testdata=cell.Value.ToSting()。。。。返回Nothing将此标记为答案。