我正在尝试开发一个复杂的报告,我需要为excel文件设置打印区域.我必须将xls文件分成3部分,但如果我执行setPrintArea(..),新区域会订阅旧的,结果是我在打印预览中只有最后一页.如何设置多个打印区域?这是代码:
protected void createCustomerSheet(String label) {
createSheet(label);
getCurrentSheet().getPrintSetup().setPaperSize(PrintSetup.A4_PAPERSIZE);
getCurrentSheet().getPrintSetup().setFitHeight((short)1);
getCurrentSheet().getPrintSetup().setFitWidth((short)1);
getCurrentSheet().setAutobreaks(true);
getCurrentSheet().setFitToPage(true);
}
Run Code Online (Sandbox Code Playgroud)
然后我打了三次电话
wb.setPrintArea(activeSheetIndex, startColumn, endColumn, startRow, endRow);
Run Code Online (Sandbox Code Playgroud)
我也尝试添加break行,但它不起作用..
有任何想法吗?
Excel仅为电子表格维护一个打印区域.因此,Apache POI的Excel API提供了设置一个打印区域的功能.
听起来您可能正在尝试定义报告的不同页面.如果是这样,您需要在每个工作表中设置要完成此操作的行和/或列分隔符.使用Sheet的以下方法,假设sheet是您的Sheet实例:
sheet.setAutobreaks(false);
sheet.setRowBreak(rowIndex);
sheet.setColumnBreak(columnIndex);
Run Code Online (Sandbox Code Playgroud)
您可以多次调用最后两种方法中的每一种来建立多个中断.
| 归档时间: |
|
| 查看次数: |
6902 次 |
| 最近记录: |