2016-06-18 7 views
1

特定の列に対して最後に使用された行の数を取得しようとしましたが、占有された最大行の数しか取得できませんでした。テストデータは添付のスナップで示されています。助けてください。 Snap Attached HereGemboxは特定の列のすべての行(空白を含む)の数を取得します

 SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY"); 
     ExcelFile ef = ExcelFile.Load("test.xlsx"); 

     CellRange rcount = ef.Worksheets[0].Columns[1].Cells; 
     Console.WriteLine(ef.Worksheets[0].Rows.Count); 


     ef.Save("test.xlsx"); 
     Console.ReadKey(); 

答えて

1

セルは列ではなく行内で内部的に割り当てられます。つまり、各行の最後に使用された列をExcelRow.AllocatedCells.Countで取得できます。

特定の列で最後に使用された行を取得するためには、次のようなものを使用することができます。

ExcelFile ef = ExcelFile.Load("test.xlsx"); 
ExcelWorksheet ws = ef.Worksheets[0]; 

ExcelColumn column = ws.Columns[1]; 
int rowIndex = ws.Rows.Count - 1; 

while (rowIndex >= 0 && column.Cells[rowIndex].ValueType == CellValueType.Null) 
    --rowIndex; 

Console.WriteLine(rowIndex); 

私はこのことができます願っています。

+1

ありがとう – user3289968

関連する問題