【FastReport教程】在Excel中打印时进行缩放管理
FastReport.Net 2018.4版本带来了不少创新。其中之一是能够在Excel导出设置中打印时设置文档的Excel页面的比例。 您可以在预览模式下或从用户应用程序的代码中将报表导出到Excel。我们考虑两种选择。 从预览中导出到Excel 2007。例如,我将生成一个包含大量行和列的报表 - 一个100乘100的矩阵。让我们在Excel 2007中打开导出菜单:
表单底部是“Print Scaling”选项。默认设置为“Actual Size”(无缩放)。让我们进行导出,并在打印时在视图模式下查看Excel文档:
如您所见,该报表不适合一个打印页面。我们的矩阵需要6页。让我们再次导出报表。但是现在,对于Print Scaling,我们在One Page上选择Fit Sheet。我们在Excel文档的打印模式中会看到什么?
减少文档的比例,使其完全适合一页。我们经常需要在一个页面上打印整个报表。有必要通过反复试验来选择比例。
让我们继续“Print Scaling”选项的下一个值 - “Fit All Columns on One Page”。在这种情况下,我们使用矩阵的示例将不是最具指示性的。据您了解,此选项允许您将所有数据列放在一个打印页面上。在这种情况下,行可能不适合一页而另一页将生成。但是,由于我们的矩阵是方形的,因此列和行都将适合同一打印页面。
因此,我将生成另一个30乘100的矩阵。让我们使用“Print Scaling”选项中的“Fit All Columns on One Page”将其导出到Excel。让我们看看它在Excel中的打印模式下的样子:
选择文档的比例,以便所有列都适合一页的宽度。但是线条并不适合,但这对我们来说并不重要,因为我们选择了“All columns on one page”。
“Scaling when printing”选项的另一个值 - “All columns on one page”。在这种情况下,重要的是我们将所有行放在一个页面上,以及列是否适合我们不感兴趣。让我们将矩阵100的Excel导出为100.让我们看看发生了什么:
满足所有要求 - 线条适合一页。只有56列适合。其余的,创建了第二个打印页面。 因此,在将报表导出到Excel 2007时,我们会考虑4个文档比例。现在让我们看看如何在用户应用程序的代码中使用所考虑的选项:
Report report = new Report(); FastReport.Export.OoXML.Excel2007Export exp = new FastReport.Export.OoXML.Excel2007Export(); exp.PrintFit = FastReport.Export.OoXML.Excel2007Export.PrintFitMode.FitAllColumsOnOnePage; report.Export(exp, @"C:\result.html");
PrintMode有4个值:NoScaling,FitSheetOnOnePage,FitAllColumsOnOnePage,FitAllRowsOnOnePage。 对于Web报表,只有一种缩放Excel文档的模式可用 - 放在一个页面上:
webReport.XlsxPrintFitPage = true; webReport.ExportExcel2007();
因此,我们可以使用另一种有用的选择。