我当前的项目使用EPPlus来创建Excel文件。这些文件由用户打印,我试图强制Excel文件仅在一个A4页面中打印,无论内容的宽度如何。
实际上,当打印文件时,它需要两页,而第二页只包含一列。
我的代码:
ws.PrinterSettings.Orientation = eOrientation.Landscape;
ws.PrinterSettings.PrintArea = ws.Cells[ws_dimension_adress];
ws.PrinterSettings.TopMargin= 0;
ws.PrinterSettings.RightMargin = 0;
ws.PrinterSettings.BottomMargin = 0;
ws.PrinterSettings.LeftMargin = 0;
ws.Cells[ws_dimension_adress].AutoFitColumns();
ws.Cells[ws_dimension_adress].Style.Font.Size = 9;
结果: 我的代码提供的结果
我需要什么:
我搜索了类似#34;自动调整到A4页面",但是还没有解决方案。
备注:需要所有列。在创建文件之前,我无法删除一个。
感谢您的帮助!
答案 0 :(得分:6)
我找到了解决方案。
EPPlus有一个打印机设置。 要使用的行是
ws.PrinterSettings.FitToPage = true;
通过使用此功能,默认文件属性强制Excel仅在一页中打印数据。
希望这有助于其他开发者。
答案 1 :(得分:1)
您还可以将此行代码用于特定纸张尺寸:
ws.PrinterSettings.PaperSize = ePaperSize.A4;
Hopte这可以帮助其他人。