使用Excel Interop,您可以获取表格所使用的行数,如下所示:
_xlSheet.UsedRange.Rows
(其中" _xlSheet"是Excel.Worksheet)。
Spreadsheet Light中的等效内容是什么?
您可以添加如下工作表:
var sl = new SLDocument();
. . .
sl.AddWorksheet("SheetsToTheWind");
...但是,如何访问该工作表以查询其使用的行数?
答案 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();