获取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); } }
posted @
2020-09-29 12:03
william1994
阅读(454)
收藏2(0)