거두절미하고..
해당 시트의 UsedRange 를 쓰면 바로 해결된다.
UsedRange 의 Value 또는 Value2 를 사용해 내용물 가져오면 끝..
Value2 가 해당 데이터를 전부 읽어버리는 입장에서는 매우 유용하고 빠른 방법이다.
전에는 셀 단위로 읽어 가면서 마지막 행/열을 파악했는데, 간편한 방법이 있었다
데이터가 있는 마지막 행 찾기 :
Worksheet ws = (Worksheet) wb.Worksheets[1];
Range range = ws.get_Range("A1", Missing.Value);
range = range.get_End(XlDirection.xlDown);
데이터가 있는 마지막 열 찾기 :
Worksheet ws = (Worksheet) wb.Worksheets[1];
Range range = ws.get_Range("A1", Missing.Value);
range = range.get_End(XlDirection.xlRight);
해당 시트의 범위 :
Range range = ws.get_Range("A1", Missing.Value);
range = range.get_End(XlDirection.xlDown);
range = range.get_End(XlDirection.xlRight);
String RightDownAddress = range.get_Address(
false, false, XlReferenceStyle.xlA1,
Type.Missing, Type.Missing);
// 현재 시트의 데이터 전체를 커버하도록 range
range = sheet.get_Range("A1", downAddress);
해당 시트의 UsedRange 를 쓰면 바로 해결된다.
UsedRange 의 Value 또는 Value2 를 사용해 내용물 가져오면 끝..
Value2 가 해당 데이터를 전부 읽어버리는 입장에서는 매우 유용하고 빠른 방법이다.
데이터가 있는 마지막 행 찾기 :
Worksheet ws = (Worksheet) wb.Worksheets[1];
Range range = ws.get_Range("A1", Missing.Value);
range = range.get_End(XlDirection.xlDown);
데이터가 있는 마지막 열 찾기 :
Worksheet ws = (Worksheet) wb.Worksheets[1];
Range range = ws.get_Range("A1", Missing.Value);
range = range.get_End(XlDirection.xlRight);
해당 시트의 범위 :
Range range = ws.get_Range("A1", Missing.Value);
range = range.get_End(XlDirection.xlDown);
range = range.get_End(XlDirection.xlRight);
String RightDownAddress = range.get_Address(
false, false, XlReferenceStyle.xlA1,
Type.Missing, Type.Missing);
// 현재 시트의 데이터 전체를 커버하도록 range
range = sheet.get_Range("A1", downAddress);
반응형