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

时间:2015-12-03 14:41:53

标签: c# asp.net excel printing 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;

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

enter image description here

我需要什么:

enter image description here

我搜索了类似#34;自动调整到A4页面",但是还没有解决方案。

备注:需要所有列。在创建文件之前,我无法删除一个。

感谢您的帮助!

2 个答案:

答案 0 :(得分:6)

我找到了解决方案。

EPPlus有一个打印机设置。 要使用的行是

ws.PrinterSettings.FitToPage = true;

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

希望这有助于其他开发者。

答案 1 :(得分:1)

您还可以将此行代码用于特定纸张尺寸:

ws.PrinterSettings.PaperSize = ePaperSize.A4;

Hopte这可以帮助其他人。