2012-03-15 2 views
4

Excel 통합 문서를 만드는 asp.net 페이지를 만들었습니다. 그래서 같은 통합 문서의 방향 스케일링 페이지 설정 높이의 특성 및 폭을 설정 한 :C#에서 OpenXML을 사용하여 Excel에 맞게 크기 조절 속성 설정

DocumentFormat.OpenXml.Spreadsheet.PageSetup pgOr = new DocumentFormat.OpenXml.Spreadsheet.PageSetup(); 
    pgOr.Orientation = OrientationValues.Landscape; 
    pgOr.FitToHeight = 3; 
    pgOr.FitToWidth = 1; 
    newWorksheetPart.Worksheet.AppendChild(pgOr); 

을하지만, 넓은 1 페이지와 3 페이지에 설정되어있는 엑셀 문서를 다운로드하고 PAGESETUP 스케일링을 열 때 키가 큽니다. 그러나 "Fit to"라디오 버튼이 선택되지 않아 실제로이 설정을 사용하지 않습니다.

나는 길을 따라 사실로 설정해야 할 몇 가지 속성이 있다고 생각했습니다. FitToPage 또는 그와 같은 것은 내가 어느 것을 알지 못한다는 것입니다. 누구 알아?

참고 : Microsoft.Office.Interop.Excel이 아닌 DocumentFormat.OpenXml을 사용하고 있습니다.

답변

5

OpenXML SDK에는 FitToPage이라는 속성을 제공하는 PageSetupProperties 클래스가 있습니다. 선택한 라디오 버튼 얻기 위해 true이 속성을 설정합니다

SheetProperties sp = new SheetProperties(new PageSetupProperties()); 

Worksheet ws = newWorksheetPart.Worksheet; 
ws.SheetProperties = sp; 

// Set the FitToPage property to true 
ws.SheetProperties.PageSetupProperties.FitToPage = BooleanValue.FromBoolean(true); 

DocumentFormat.OpenXml.Spreadsheet.PageSetup pgOr = new DocumentFormat.OpenXml.Spreadsheet.PageSetup(); 
pgOr.Orientation = DocumentFormat.OpenXml.Spreadsheet.OrientationValues.Landscape; 
pgOr.FitToHeight = 3; 
pgOr.FitToWidth = 1; 
ws.AppendChild(pgOr); 
+0

감사 한스, 큰 일 – broguyman