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

时间:2018-08-23 20:30:07

标签: 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.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);

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

它又变空了。没错有人看到我没看到的东西吗?

1 个答案:

答案 0 :(得分:1)

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

我改变了线路... var ws = workbook.Worksheets.Add(“单元格值”);

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

现在可以正常工作了。 Storage.StreetAddress = ws.Cell(xlRow,1).GetString();