我有一个用Excel生成的Jasper 3.7.5报告。
如果我预览文件,则不会显示报告的最后一列。

如果将Page Setup中的纸张尺寸从Letter更改为A4,则会显示最后一列。


当我尝试打印时,在Print对话框中,纸张尺寸的第一个选项是Letter。是否可以通过Jasper设置纸张尺寸,以使Excel可以识别出它是A4并将Paper Size设置为A4?还是只能在Excel中而不是在Jasper中使用?在Paper Size对话框和预览中将A4都选择为Print会很好。

报告的宽度和高度(在jrxml标记内的jasperReport中设置)是这样计算的:

// A4 size is 210 mm X 297 mm
int quality = 236; // 236 dpmm = 600 dpi
int width = 210 * quality / 98;
int height = 297 * quality / 98;


我不知道为什么需要将公式除以98。但是,我注意到将值设置为100以上不会对报表产生明显影响。

更新:
该报告处于横向模式。

最佳答案

我无法在Jasper中解决此问题。我已经通过在生成报告之后并使用Apache POI API将其发送回浏览器之前处理报告来解决此问题:

Sheet sheet = workbook.getSheetAt(0);
sheet.getPrintSetup().setPaperSize(PrintSetup.A4_PAPERSIZE);

关于java - 在Jasper中设置纸张尺寸以在Excel中识别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7118788/

10-10 14:09