Spreadsheet Light 中 Excel Interop 的 Worksheet.UsedRange.Rows 的类似物是什么?
What is the analogue to Excel Interop's Worksheet.UsedRange.Rows in Spreadsheet Light?
使用 Excel Interop,您可以像这样获取 sheet 使用的行数:
_xlSheet.UsedRange.Rows
(其中“_xlSheet”是一个 Excel.Worksheet)。
Spreadsheet Light 中的等价物是什么?
您可以像这样添加作品sheet:
var sl = new SLDocument();
. . .
sl.AddWorksheet("SheetsToTheWind");
...但是您如何才能访问该作品sheet 以查询其使用的行数?
添加工作表后,它也处于活动状态。这意味着您可以从方法 GetWorksheetStatistics
中获取 WorksheetStatistics
。该统计实例有一个 NumberOfRows
属性:
// NOTE: The information is only current at point of retrieval.
var stats = sl.GetWorksheetStatistics();
var rowcount = stats.NumberOfRows;
如果你想知道所有工作表的行数,你可以这样做:
foreach(var name in sl.GetSheetNames())
{
sl.SelectWorksheet(name);
var stats = sl.GetWorksheetStatistics();
var rowcount = stats.NumberOfRows;
Trace.WriteLine(String.Format("sheet '{0}' has {1} rows", name, rowcount));
}
添加到 rene 的回答中:
由于访问统计数据的 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();
使用 Excel Interop,您可以像这样获取 sheet 使用的行数:
_xlSheet.UsedRange.Rows
(其中“_xlSheet”是一个 Excel.Worksheet)。
Spreadsheet Light 中的等价物是什么?
您可以像这样添加作品sheet:
var sl = new SLDocument();
. . .
sl.AddWorksheet("SheetsToTheWind");
...但是您如何才能访问该作品sheet 以查询其使用的行数?
添加工作表后,它也处于活动状态。这意味着您可以从方法 GetWorksheetStatistics
中获取 WorksheetStatistics
。该统计实例有一个 NumberOfRows
属性:
// NOTE: The information is only current at point of retrieval.
var stats = sl.GetWorksheetStatistics();
var rowcount = stats.NumberOfRows;
如果你想知道所有工作表的行数,你可以这样做:
foreach(var name in sl.GetSheetNames())
{
sl.SelectWorksheet(name);
var stats = sl.GetWorksheetStatistics();
var rowcount = stats.NumberOfRows;
Trace.WriteLine(String.Format("sheet '{0}' has {1} rows", name, rowcount));
}
添加到 rene 的回答中:
由于访问统计数据的 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();