2017-04-13 1 views

답변

1

Worksheet의 속성으로 찾을 수있는 SheetDimension 클래스에서 찾을 수 있습니다. 다음 코드는 콘솔에 사용 된 범위를 쓸 것입니다 :

using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(filename, false)) 
{ 
    WorkbookPart workbookPart = spreadsheetDocument.WorkbookPart; 
    //get the correct sheet 
    Sheet sheet = workbookPart.Workbook.Descendants<Sheet>().Where(s => s.Name == "Sheet1").First(); 
    WorksheetPart worksheetPart = workbookPart.GetPartById(sheet.Id) as WorksheetPart; 
    Console.WriteLine(worksheetPart.Worksheet.SheetDimension.Reference); 
} 
+0

'SheetDimension'은 워크 시트가 새로운 것이기 때문에 null입니다. 이 방법은 기존 파일에서만 작동합니까 아니면 새로 생성 된 워크 시트에서 사용할 수 있습니까? –

+0

새로 생성 된 시트의 경우 OpenXml을 통해 직접 작성하지 않으면 값이 존재하지 않습니다. 불행히도 그 정보를 생성하는 OpenXml에는 자동화 된 것이 없습니다. 시트가 새 것이라면, 생성한다는 의미입니까? 이 경우 이미 범위를 알지 못합니까? – petelids

+0

숫자 범위를 알고 있지만 VBA와 같이 주소 범위를 가져 오는 기본 제공 방법을 찾고있었습니다. 이것이 구현되지 않았다면 [Excel 열 이름 생성에 대한 가장 좋은 답변] (http://stackoverflow.com/a/31035990/1958726)을 참조하십시오. –

관련 문제