什么是Excel Interop的Worksheet.UsedRange.Rows在Spreadsheet Light中的类似物?

时间:2016-04-07 16:16:09

标签: c# worksheet rowcount spreadsheetlight

使用Excel Interop,您可以获取表格所使用的行数,如下所示:

_xlSheet.UsedRange.Rows

(其中" _xlSheet"是Excel.Worksheet)。

Spreadsheet Light中的等效内容是什么?

您可以添加如下工作表:

var sl = new SLDocument();
. . .
sl.AddWorksheet("SheetsToTheWind");

...但是,如何访问该工作表以查询其使用的行数?

2 个答案:

答案 0 :(得分:2)

添加工作表后,它也是活动的。这意味着您可以从方法void aClass::start(){ thread serviceth(startService,this); } 获取WorksheetStatistics。该统计信息实例具有GetWorksheetStatistics属性:

NumberOfRows

如果您想知道所有工作表的行数,您可以这样做:

// NOTE: The information is only current at point of retrieval. 
var stats = sl.GetWorksheetStatistics();
var rowcount = stats.NumberOfRows;

答案 1 :(得分:0)

添加到rene的答案:

由于访问Statistics的NumberOfRows属性不会自动更新(每次都必须调用GetWorksheetStatistics()来获取最新的统计信息),我发现编写这个帮助方法很方便:

private int GetCurrentNumberOfRows()
{
    // This reference to "sl" assumes that you have declared "SLDocument sl;" and
    // instantiated it ("sl = new SLDocument();"), perhaps in your class' constructor
    var stats = sl.GetWorksheetStatistics();
    return stats.NumberOfRows;
}

..然后根据需要调用它:

int lastRow = GetCurrentNumberOfRows();