我在ClosedXML中选择相对于工作表中另一个范围的相对范围时遇到问题。因此,为确保其工作原理,我尝试了示例代码。
var ws = wb.Worksheets.Add("Sample Sheet");
// From worksheet
var rngTable = ws.Range("B2:F6");
// From another range
var rngDates = rngTable.Range("D3:D5"); // works, range inside B2:F6
var rngNumbers = rngTable.Range("E3:E5");// works, range inside B2:F6
var rngHeaders = rngTable.Range("A2:E2"); // this line throws an exception
似乎范围毕竟不是相对的?如果所选范围在"B2:F6"
范围内,则它起作用。
我从这里使用了代码:ClosedXML Wiki
此行为已更改,现在Wiki已过期。谢谢你的收获。现在以A1:D4格式指定范围时,它们实际上确实是相对于工作表的。将此重载用于相对于父级范围的子范围:
IXLRange.Range(int firstCellRow, int firstCellColumn, int lastCellRow, int lastCellColumn);