String outFile = rootPath+filePath+sFile; //输出文件
==合同打印:
1、 分页
sheet.setRowBreak(当前行); //设置分页符
2、怎么插入一个图片 HSSFPatriarch patriarch = sheet.createDrawingPatriarch(); //add picture
pioUtil.setPicture(wb, patriarch, rootPath+"make/xlsprint/logo.jpg", curRow, 2, curRow+4, 2);
3、怎么插入一条线
pioUtil.setLine(wb, patriarch, curRow, 2, curRow, 8); //draw line
4、设置数值类型 nCell.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
5、设置前导符
HSSFDataFormat format = wb.createDataFormat();return format.getFormat(""¥"#,###,##0.00"); // 设置格式
6、设置公式
nCell.setCellType(HSSFCell.CELL_TYPE_FORMULA);nCell.setCellFormula("F11*H11");nCell.setCellFormula("F"+String.valueOf(curRow)+"*H"+String.valueOf(curRow));
nCell.setCellFormula("SUM(I"+String.valueOf(curRow-4)+":I"+String.valueOf(curRow-1)+")");
7、工具类:替换等量空格
fixSpaceStr(String str,int len)
8、业务要求:1)同一个厂家的货物才能打印到同一个页面
List oList = oDao.find("from ContractProduct o where o.contract.id='"+contractId+"' order by o.factory.id,o.orderNo");
//厂家不同另起新页打印,除去第一次的比较 if(oProduct.getFactory().getFactoryName().equals(oldFactory)){ }
2)打印可以选择打印一款货物,还是两款货物 if(contract.getPrintStyle().equals("2")){}
9、数据和业务分离
//填写每页的内容,之后在循环每页读取打印 Map<String,String> pageMap = null;List pageList = new ArrayList(); //打印页
==报运打印:
wb.cloneSheet(0); //复制 sheet0 工作簿,名字会自动重命名
SpringMVC 的 POI 实现方式