获取Excel打印预览的宽度
按微软的 https://docs.microsoft.com/zh-cn/office/vba/api/excel.xlpapersize?view=api-js-preview 信息,
| Name | Value | Description | Description | 计算长 | 计算宽 |
| xlPaper10x14 | 16 | 10 in. | 14 in. | 254 | 355.6 |
| xlPaper11x17 | 17 | 11 in. | 17 in. | 279.4 | 431.8 |
| xlPaperA3 | 8 | 297 mm | 420 mm | 297 | 420 |
| xlPaperA4 | 9 | 210 mm | 297 mm | 210 | 297 |
| xlPaperA4Small | 10 | 210 mm | 297 mm | 210 | 297 |
| xlPaperA5 | 11 | 148 mm | 210 mm | 148 | 210 |
| xlPaperB4 | 12 | 250 mm | 354 mm | 250 | 354 |
| xlPaperB5 | 13 | 148 mm | 210 mm | 148 | 210 |
| xlPaperCsheet | 24 | C size sheet | |||
| xlPaperDsheet | 25 | D size sheet | |||
| xlPaperEnvelope10 | 20 | 4-1/8 in. | 9-1/2 in. | 104.775 | 241.30 |
| xlPaperEnvelope11 | 21 | 4-1/2 in. | 10-3/8 in. | 114.30 | 263.525 |
| xlPaperEnvelope12 | 22 | 4-1/2 in. | 11 in. | 114.30 | 279.40 |
| xlPaperEnvelope14 | 23 | 5 in. | 11-1/2 in. | 127 | 292.10 |
| xlPaperEnvelope9 | 19 | 3-7/8 in. | 8-7/8 in. | 3.875 | 8.875 |
| xlPaperEnvelopeB4 | 33 | 250 mm | 353 mm | 250 | 353 |
| xlPaperEnvelopeB5 | 34 | 176 mm | 250 mm | 176 | 250 |
| xlPaperEnvelopeB6 | 35 | 176 mm | 125 mm | 176 | 125 |
| xlPaperEnvelopeC3 | 29 | 324 mm | 458 mm | 324 | 458 |
| xlPaperEnvelopeC4 | 30 | 229 mm | 324 mm | 229 | 324 |
| xlPaperEnvelopeC5 | 28 | 162 mm | 229 mm | 162 | 229 |
| xlPaperEnvelopeC6 | 31 | 114 mm | 162 mm | 114 | 162 |
| xlPaperEnvelopeC65 | 32 | 114 mm | 229 mm | 114 | 229 |
| xlPaperEnvelopeDL | 27 | 110 mm | 220 mm | 110 | 220 |
| xlPaperEnvelopeItaly | 36 | 110 mm | 230 mm | 110 | 230 |
| xlPaperEnvelopeMonarch | 37 | 3-7/8 in. | 7-1/2 in. | 98.425 | 190.500 |
| xlPaperEnvelopePersonal | 38 | 3-5/8 in. | 6-1/2 in. | 92.075 | 165.100 |
| xlPaperEsheet | 26 | E size sheet | |||
| xlPaperExecutive | 7 | 7-1/2 in. | 10-1/2 in. | 190.500 | 266.700 |
| xlPaperFanfoldLegalGerman | 41 | 8-1/2 in. | 13 in. | 215.900 | 330.200 |
| xlPaperFanfoldStdGerman | 40 | 8-1/2 in. | 13 in. | 215.900 | 330.200 |
| xlPaperFanfoldUS | 39 | 14-7/8 in. | 11 in. | 377.825 | 279.400 |
| xlPaperFolio | 14 | 8-1/2 in. | 13 in. | 215.900 | 330.200 |
| xlPaperLedger | 4 | 17 in. | 11 in. | 431.800 | 279.400 |
| xlPaperLegal | 5 | 8-1/2 in. | 14 in. | 215.900 | 355.600 |
| xlPaperLetter | 1 | 8-1/2 in. | 11 in. | 215.900 | 279.400 |
| xlPaperLetterSmall | 2 | 8-1/2 in. | 11 in. | 215.900 | 279.400 |
| xlPaperNote | 18 | 8-1/2 in. | 11 in. | 215.900 | 279.400 |
| xlPaperQuarto | 15 | 215 mm | 275 mm | 215.000 | 275.000 |
| xlPaperStatement | 6 | 5-1/2 in. | 8-1/2 in. | 139.700 | 215.900 |
| xlPaperTabloid | 3 | 11 in. | 17 in. | 279.400 | 431.800 |
| xlPaperUser | 256 | User-defined |
public class PageSizeInfo { public Microsoft.Office.Interop.Excel.XlPaperSize Paper { get; set; } public double Height { get; set; } public double Width { get; set; } public PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize Paper,double Height,double Width) { this.Paper = Paper; this.Height = Height; this.Width = Width; } static public PageSizeInfo[] AllPageSizeType = new PageSizeInfo[] { new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaper10x14,254,355.6), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaper11x17,279.4,431.8), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperA3,297,420), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperA4,210,297), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperA4Small,210,297), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperA5,148,210), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperB4,250,354), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperB5,148,210), //new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperCsheet,,), //new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperDsheet,,), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperEnvelope10,104.775,241.3), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperEnvelope11,114.3,263.525), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperEnvelope12,114.3,279.4), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperEnvelope14,127,292.1), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperEnvelope9,3.875,8.875), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperEnvelopeB4,250,353), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperEnvelopeB5,176,250), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperEnvelopeB6,176,125), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperEnvelopeC3,324,458), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperEnvelopeC4,229,324), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperEnvelopeC5,162,229), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperEnvelopeC6,114,162), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperEnvelopeC65,114,229), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperEnvelopeDL,110,220), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperEnvelopeItaly,110,230), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperEnvelopeMonarch,98.425,190.5), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperEnvelopePersonal,92.075,165.1), //new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperEsheet,,), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperExecutive,190.5,266.7), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperFanfoldLegalGerman,215.9,330.2), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperFanfoldStdGerman,215.9,330.2), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperFanfoldUS,377.825,279.4), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperFolio,215.9,330.2), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperLedger,431.8,279.4), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperLegal,215.9,355.6), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperLetter,215.9,279.4), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperLetterSmall,215.9,279.4), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperNote,215.9,279.4), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperQuarto,215,275), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperStatement,139.7,215.9), new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperTabloid,279.4,431.8), //new PageSizeInfo(Microsoft.Office.Interop.Excel.XlPaperSize.xlPaperUser,,), }; static public Point GetSize(Microsoft.Office.Interop.Excel.XlPaperSize xlp) { foreach(var p in AllPageSizeType) { if (p.Paper == xlp) return new Point((int)p.Width, (int)p.Height); } return new Point(210, 297); } }

浙公网安备 33010602011771号