//一个简单的方法
public void idleAssetrequest_exportExcleTransaction() throws Exception {
OutputStream output = null;WritableWorkbook wwb = null;
//设置字体
WritableFont font1 = new WritableFont(WritableFont.createFont("宋体"),
10, WritableFont.NO_BOLD);
WritableCellFormat wf = new WritableCellFormat(font1);
wf.setAlignment(Alignment.CENTRE); // 水平方向的
wf.setVerticalAlignment(VerticalAlignment.CENTRE);
//设置编码
response.setCharacterEncoding("UTF-8");
//设置输出类型
response.setHeader("Content-Disposition", "attachment;filename="
+ new String("资产闲置申请.xls".getBytes("GB2312"), "ISO8859-1"));
output = response.getOutputStream();
wwb = Workbook.createWorkbook(output);
//设置表格第一排
Map<String, Object> parameter = new HashMap<String, Object>();
String organcode = request.getParameter("organcode");
String billcode = request.getParameter("billcode");
String flowflag = request.getParameter("flowflag");
String applydatetime = request.getParameter("applydatetime");
parameter.put("billcode", billcode);
parameter.put("organcode", organcode);
// 获取导出数据
List<Assetidledetail> assetidledetailList = sqlDao.getRecordList(
"assetidledetail.getPrintRecord", parameter);
String organname = assetidledetailList.get(0).getUnitname();
int length = 10;
//设置输出的栏目
sheet.addCell(new Label(0, 0, "资产闲置申请", AssetSummaryLogicImpl.title()));sheet.mergeCells(0, 0, length - 1, 0);
sheet.addCell(new Label(0, 1, "申报单位:" + organname, wf));
sheet.mergeCells(0, 1, 1, 1);
sheet.addCell(new Label(2, 1, "单据编号:" + billcode, wf));
sheet.mergeCells(2, 1, 3, 1);
sheet.addCell(new Label(4, 1, "申报日期:" + applydatetime, wf));
sheet.mergeCells(4, 1, 5, 1);
sheet.addCell(new Label(6, 1, "审核标志:" + flowflag, wf));
sheet.mergeCells(6, 1, 7, 1);
sheet.addCell(new Label(8, 1, "金额单位:元", wf));
sheet.mergeCells(8, 1, 9, 1);
sheet.addCell(new Label(0, 2, "序号", wf));
sheet.addCell(new Label(1, 2, "资产类别", wf));
sheet.addCell(new Label(2, 2, "资产名称", wf));
sheet.addCell(new Label(3, 2, "结构(规格型号)", wf));
sheet.addCell(new Label(4, 2, "计量单位", wf));
sheet.addCell(new Label(5, 2, "数量", wf));
sheet.addCell(new Label(6, 2, "使用人姓名", wf));
sheet.addCell(new Label(7, 2, "账面净值", wf));
sheet.addCell(new Label(8, 2, "评估价值", wf));
sheet.addCell(new Label(9, 2, "备注", wf));
for (int i = 0; i < 10; i++) {
sheet.setColumnView(i, 15);
}
//将数据保存到表格中
for (int i = 0; i < assetidledetailList.size(); i++) {sheet.addCell(new Label(0, i + 3, StringUtil
.getFormatString((assetidledetailList.get(i))
.getSerialnumeric()), wf));
sheet.addCell(new Label(1, i + 3, assetidledetailList.get(i)
.getAssettypename(), wf));
sheet.addCell(new Label(2, i + 3, assetidledetailList.get(i)
.getAssetname(), wf));
sheet.addCell(new Label(3, i + 3, assetidledetailList.get(i)
.getSpc(), wf));
sheet.addCell(new Label(4, i + 3, assetidledetailList.get(i)
.getCalunit(), wf));
sheet.addCell(new Label(5, i + 3, (assetidledetailList.get(i)
.getAcount()).toString(), wf));
sheet.addCell(new Label(6, i + 3, assetidledetailList.get(i)
.getSyrname(), wf));
sheet.addCell(new Label(7, i + 3, AssetSummaryLogicImpl
.dts(assetidledetailList.get(i).getNuminitvalue()), wf));
sheet.addCell(new Label(8, i + 3, AssetSummaryLogicImpl
.dts(assetidledetailList.get(i).getEvaluatevalue()), wf));
sheet.addCell(new Label(9, i + 3, assetidledetailList.get(i)
.getVcmemo(), wf));
}
wwb.write();
wwb.close();
output.flush();
output.close();
}