1
새 워크 시트에 사용 된 셀 범위를 가져와야합니다. 예를 들어 : 엑셀 VBA에서OpenXML에서 Excel 워크 시트의 사용 범위를 얻으려면 어떻게합니까?
A1:AY55
, 이것은 적절하게 이름을 UsedRange
속성을 통해 얻을 수 있습니다. OpenXML에 해당하는 프로그램이 있습니까?
새 워크 시트에 사용 된 셀 범위를 가져와야합니다. 예를 들어 : 엑셀 VBA에서OpenXML에서 Excel 워크 시트의 사용 범위를 얻으려면 어떻게합니까?
A1:AY55
, 이것은 적절하게 이름을 UsedRange
속성을 통해 얻을 수 있습니다. OpenXML에 해당하는 프로그램이 있습니까?
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);
}
'SheetDimension'은 워크 시트가 새로운 것이기 때문에 null입니다. 이 방법은 기존 파일에서만 작동합니까 아니면 새로 생성 된 워크 시트에서 사용할 수 있습니까? –
새로 생성 된 시트의 경우 OpenXml을 통해 직접 작성하지 않으면 값이 존재하지 않습니다. 불행히도 그 정보를 생성하는 OpenXml에는 자동화 된 것이 없습니다. 시트가 새 것이라면, 생성한다는 의미입니까? 이 경우 이미 범위를 알지 못합니까? – petelids
숫자 범위를 알고 있지만 VBA와 같이 주소 범위를 가져 오는 기본 제공 방법을 찾고있었습니다. 이것이 구현되지 않았다면 [Excel 열 이름 생성에 대한 가장 좋은 답변] (http://stackoverflow.com/a/31035990/1958726)을 참조하십시오. –