POI 动态设置打印区域
下面是自己在使用poi导出Excel并设置打印区域问题的小结
只需要设置一次固定的打印区域
假如只需要设置一次打印区域即可完成业务需求则使用以下方法即可
//sheetIndex–从0开始的sheet的索引编号
//startColumn-打印区域的开始列号
// endColumn- 打印区域的结束列号
//startRow-打印区域的开始行号
//endRow- 打印区域的结束行号
XSSFWorkbook #setPrintArea(int sheetIndex,int startColumn,int endColumn, int startRow,int endRow);
以下代码为使用例子:
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet spreadsheet = workbook.createSheet("Print Area");
//设置打印区域
workbook.setPrintArea(
0, //从0开始的sheet的索引编号
0, //打印区域的开始列号
5, //打印区域的结束列号
0, //打印区域的开始行号
5 //打印区域的结束行号
);
设置不连续或者不固定的打印区域
若业务中需要设置不连续或者由业务数据量决定的不固定的打印区域时可参考以下方法
//sheetIndex–从0开始的sheet的索引编号
//reference-打印区域字符串
XSSFWorkbook #setPrintArea(int sheetIndex, String reference);
该方法重点在于对打印区域字符串的编写,以下代码为使用例子:
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet spreadsheet = workbook.createSheet("Print Area");
//第一个打印区域(该字符串表示表格的B列4行到H列11行的区域为打印区域)
String reference = "$B$4:$H$11";
//添加打印区域
reference = reference+","+"$B$15:$H$24";
//根据需求拼接好打印区域字符串即可
reference = reference+","+"$B$28:$H$36";
//设置打印区域
workbook.setPrintArea(
0, //从0开始的sheet的索引编号
reference //打印区域字符串
);
以上是本次分享的内容