java 下载pdf关于 第一页 公司名称不同–每个相同公司显示一页,不同公司显示第二页
原图如下:
想要结果如下:
第一页
第二页
第三页
java
table10.deleteBodyRows();// 释放内存中存留的内容。
PdfPTable table10 = new PdfPTable(4);
int width10[] = {500,150,150,400};
table10.setWidths(width10);
String[] tableHeader10 = new String[]{"公司名称","专票数量","普票数量","发票号码总金额"};
for (int i = 0; i < 4; i++) {
table10.addCell(ZynsunUtils.createBluePdfpCell(tableHeader10[i], font));
}
StringBuffer sbCustNameCn= new StringBuffer();// 下单据 公司名称相同显示一页,不同显示第二页
for(int i=0; i<arbillmainList.size();i++){
String sbName= arbillmainList.get(i).getName();
if(i==0){
sbName.append(arbillmainList.get(i).getName());
}
//公司名称不同
if(!arbillmainList.get(i).getName().equals(sbName.toString())){
sbName.setLength(0);//清空上一个公司名称
sbName.append(arbillmainList.get(i).getName());
document.add(table10);
document.newPage();
table10.deleteBodyRows();// 释放内存中存留的内容。
//datatable.setSkipFirstHeader(true); //防止释放后一页出现两次表头= 备注,有空在研究
table10.addCell();
}else{//公司名称相同
table10.addCell();
}
if(i==arbillmainList.size()-1){//最后一个
document.add(table10);
document.newPage();
}
document.close();
writer.close();