2012-03-15 55 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); 

但是,當你下載的Excel文檔,打開PAGESETUP比例已被設置爲1頁寬和3頁這是我想要的,但沒有選擇「適合」單選按鈕,因此它實際上並未使用這些設置。

我覺得有一些屬性需要設置爲true。像FitToPage或者其他的東西是我不知道哪一個。有人知道嗎?

注意:請記住,我正在使用DocumentFormat.OpenXml而不是Microsoft.Office.Interop.Excel。

回答

5

OpenXML SDK提供了一個名爲PageSetupProperties的類,該類提供了一個名爲FitToPage的屬性。 爲了得到所選擇的單選按鈕將此屬性設置爲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 2012-03-15 22:01:23