【FastReport教程】在Excel中打印時(shí)進(jìn)行縮放管理
FastReport.Net 2018.4版本帶來(lái)了不少創(chuàng)新。其中之一是能夠在Excel導(dǎo)出設(shè)置中打印時(shí)設(shè)置文檔的Excel頁(yè)面的比例。 您可以在預(yù)覽模式下或從用戶應(yīng)用程序的代碼中將報(bào)表導(dǎo)出到Excel。我們考慮兩種選擇。 從預(yù)覽中導(dǎo)出到Excel 2007。例如,我將生成一個(gè)包含大量行和列的報(bào)表 - 一個(gè)100乘100的矩陣。讓我們?cè)贓xcel 2007中打開導(dǎo)出菜單:
表單底部是“Print Scaling”選項(xiàng)。默認(rèn)設(shè)置為“Actual Size”(無(wú)縮放)。讓我們進(jìn)行導(dǎo)出,并在打印時(shí)在視圖模式下查看Excel文檔:
如您所見,該報(bào)表不適合一個(gè)打印頁(yè)面。我們的矩陣需要6頁(yè)。讓我們?cè)俅螌?dǎo)出報(bào)表。但是現(xiàn)在,對(duì)于Print Scaling,我們?cè)贠ne Page上選擇Fit Sheet。我們?cè)贓xcel文檔的打印模式中會(huì)看到什么?
減少文檔的比例,使其完全適合一頁(yè)。我們經(jīng)常需要在一個(gè)頁(yè)面上打印整個(gè)報(bào)表。有必要通過(guò)反復(fù)試驗(yàn)來(lái)選擇比例。
讓我們繼續(xù)“Print Scaling”選項(xiàng)的下一個(gè)值 - “Fit All Columns on One Page”。在這種情況下,我們使用矩陣的示例將不是最具指示性的。據(jù)您了解,此選項(xiàng)允許您將所有數(shù)據(jù)列放在一個(gè)打印頁(yè)面上。在這種情況下,行可能不適合一頁(yè)而另一頁(yè)將生成。但是,由于我們的矩陣是方形的,因此列和行都將適合同一打印頁(yè)面。
因此,我將生成另一個(gè)30乘100的矩陣。讓我們使用“Print Scaling”選項(xiàng)中的“Fit All Columns on One Page”將其導(dǎo)出到Excel。讓我們看看它在Excel中的打印模式下的樣子:
選擇文檔的比例,以便所有列都適合一頁(yè)的寬度。但是線條并不適合,但這對(duì)我們來(lái)說(shuō)并不重要,因?yàn)槲覀冞x擇了“All columns on one page”。
“Scaling when printing”選項(xiàng)的另一個(gè)值 - “All columns on one page”。在這種情況下,重要的是我們將所有行放在一個(gè)頁(yè)面上,以及列是否適合我們不感興趣。讓我們將矩陣100的Excel導(dǎo)出為100.讓我們看看發(fā)生了什么:
滿足所有要求 - 線條適合一頁(yè)。只有56列適合。其余的,創(chuàng)建了第二個(gè)打印頁(yè)面。 因此,在將報(bào)表導(dǎo)出到Excel 2007時(shí),我們會(huì)考慮4個(gè)文檔比例。現(xiàn)在讓我們看看如何在用戶應(yīng)用程序的代碼中使用所考慮的選項(xiàng):
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個(gè)值:NoScaling,F(xiàn)itSheetOnOnePage,F(xiàn)itAllColumsOnOnePage,F(xiàn)itAllRowsOnOnePage。 對(duì)于Web報(bào)表,只有一種縮放Excel文檔的模式可用 - 放在一個(gè)頁(yè)面上:
webReport.XlsxPrintFitPage = true; webReport.ExportExcel2007();
因此,我們可以使用另一種有用的選擇。