WritableWorkbook book = null;
book = Workbook.createWorkbook(response.getOutputStream());
try {
WritableSheet sheet = book.createSheet( " 拣货单 " , 0 );
int rowIndex = 0;
int totalNum = 0 ;
// NumberFormat nf = new NumberFormat("#.##");
String labelName[] = {"序号","商品","货号/商品编码","颜色","尺寸","数量","售价"};
//生成表头
// 将定义好的单元格添加到工作表中
for(int i = 0 ; i < labelName.length ; i ++){
sheet.addCell(new Label(i,0,labelName[i]));
}
for(int i = 0 ; i < skus.size() ; i ++){
PaOrderCommoditySku sku = skus.get(i);
sheet.addCell(new Label(0,i+1,i+1+""));
sheet.addCell(new Label(1,i+1,sku.getCommodityTitle()));
sheet.addCell(new Label(2,i+1,sku.getSkuCoding()));
sheet.addCell(new Label(3,i+1,StringUtil.isBlank(sku.getSkuColor())?"-":sku.getSkuColor()));
sheet.addCell(new Label(4,i+1,StringUtil.isBlank(sku.getSkuSize())?"-":sku.getSkuSize()));
sheet.addCell(new Label(5,i+1,sku.getSkuAmount().toString() + sku.getCommodityUnit()));
sheet.addCell(new Label(6,i+1,sku.getSkuUnitPrice().toString()));
totalNum += sku.getSkuAmount();
rowIndex = i + 1 ;
}
sheet.addCell(new Label(1,rowIndex + 1,"共" + rowIndex + "条"));
sheet.addCell(new Label(5,rowIndex + 1,totalNum + ""));
} catch (RowsExceededException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=\""+ "filename" + ".xls\"");
book.write();
book.close();
如果是webx框架,一定记得要吧buffed关闭
@Autowired
private BufferedRequestContext buffered;
buffered.setBuffering(false);