我有一个用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/