如何使用EPPlus for A4纸张创建Excel文件

i18*_*924 3 c# printing asp.net excel epplus

我当前的项目使用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;
Run Code Online (Sandbox Code Playgroud)

结果:我的代码提供的结果

在此输入图像描述

我需要的:

在此输入图像描述

我搜索了"autofit to A4 page"之类的内容,但是还没有解决方案.

备注:需要所有列.在创建文件之前,我不能简单地删除一个.

谢谢你的帮助!

i18*_*924 6

我找到了解决方案.

EPPlus有一个打印机设置.要使用的线路是

ws.PrinterSettings.FitToPage = true;
Run Code Online (Sandbox Code Playgroud)

通过使用此功能,默认文件属性强制Excel仅在一个页面中打印数据.

希望这有助于其他一些开发者.