您的位置:首页 > 其它

jxl导出excel(合并行、合并列、单元格居中、单元格固定宽度、字体加粗、分页签)

2016-06-28 10:00 501 查看
public ActionForward performExport(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException {

String exportType = request.getParameter("exportType");
if ("check".equals(exportType)) {
request.setAttribute("check", "y");
}
String tableName = "工单数据表";
String excelFileName = new String(("工单数据表" + DateUtil.getSysDateString() + ".xls").getBytes("GBK"), "iso-8859-1");
List list = null;

PosOrderBO poBO = new PosOrderBO();
//2016-06-24修改成根据工单类型分页签导出
//String sql = getSelectSQL5(request, (PubForm) form);
String sql = getWorkOrderGroupByWorkOrderTypeSQL(request,(PubForm)form)[0];
String sqlNumSql = getWorkOrderGroupByWorkOrderTypeSQL(request,(PubForm)form)[1];

// 导出所有
try {
list =poBO.list(sql);
List xjNumList = poBO.list(sqlNumSql);
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content_Length", "10000000");
if (request.getHeader("User-Agent").indexOf("MSIE   5.5") != -1) {
/** MS IE5.5 */
response.setHeader("Content-disposition", "filename=\"" + excelFileName + "\"");
} else {
/** 非MS IE5.5 */
response.setHeader("Content-disposition", "attachment;filename=\"" + excelFileName + "\"");
}

//			ExcelFileUtil.writePosOrderExcel3(list, response.getOutputStream(), tableName);
ExcelFileUtil.writePosOrderExcel4(list,xjNumList, response.getOutputStream(), tableName);
} catch (Exception ex) {
ex.printStackTrace();
response.setStatus(HttpServletResponse.SC_OK);
} finally {
if (response != null && response.getOutputStream() != null) {
response.getOutputStream().close();
}
}
return null;
}public String[] getWorkOrderGroupByWorkOrderTypeSQL(HttpServletRequest request, ActionForm form){

Manager manager = (Manager) request.getSession().getAttribute(SystemConst.MANAGER);
ShopRole role = manager.getRoleObject();
String roleName =role.getName();
String type = request.getParameter("type");
String queryDate = request.getParameter("date");
String bussOrgId = "";
if(roleName.equals("片区组长")){
List list = StoreHelper.getOrgsByManagerId(manager.getId());
if(list != null && list.size() > 0){
for(int i=0;i= 7){
resDate = lastDate.substring(0,4) + "年" + lastDate.substring(5,7) + "月";
}else{
resDate = lastDate;
}
request.setAttribute("queryDate", queryDate);
request.setAttribute("queryType", type);
request.setAttribute("resDate", resDate);
}
String backType = request.getParameter("bean.orderType");
String storeNo = request.getParameter("bean.storeNo");
String terminalNo = request.getParameter("bean.terminalNo");
String searchExecOper = request.getParameter("bean.execOper");
List managerIds = PosManagerHelpler.getManagerIdsByName(searchExecOper);

String backDeviceSn = request.getParameter("bean.deviceSn");
String backStatus = request.getParameter("bean.orderStatus");
String startDate = request.getParameter("startDate");
String endDate = request.getParameter("endDate");
String deviceStatus = request.getParameter("deviceStatus");
String deviceType = request.getParameter("deviceType");

request.setAttribute("bussOrgId", bussOrgId);
request.setAttribute("bussManagerName", bussManagerName);
request.setAttribute("searchExecOper", searchExecOper);
request.setAttribute("backDeviceSn", backDeviceSn);
request.setAttribute("deviceStatus", deviceStatus);
request.setAttribute("deviceType", deviceType);
if(!StringUtil.isEmpty(deviceType)){
sql.append(" and pd.deviceType ='"+deviceType+"'");
xjSql.append(" and pd.deviceType ='"+deviceType+"'");
}
if(!StringUtil.isEmpty(deviceStatus)){
sql.append(" and pd.status ='"+deviceStatus+"'");
xjSql.append(" and pd.status ='"+deviceStatus+"'");
}
if(!StringUtil.isEmpty(bussOrgId)){
if("9".equals(bussOrgId)){//选择常州,就总计所有片区
sql.append("  ");
xjSql.append("  ");
}else if("33".equals(bussOrgId)){//选择其他区,就统计
sql.append(" AND (s.bussOrgId='9' or s.bussOrgId='33') ");
xjSql.append(" AND (s.bussOrgId='9' or s.bussOrgId='33') ");
}else{
sql.append(" AND s.bussOrgId='"+bussOrgId+"'");
xjSql.append(" AND s.bussOrgId='"+bussOrgId+"'");
}
}
if(!StringUtil.isEmpty(bussManagerName)){
sql.append(" and po.execOperNo like '%"+bussManagerName+"%'");
xjSql.append(" and po.execOperNo like '%"+bussManagerName+"%'");
}

if (!StringUtil.isEmpty(storeNo)) {
sql.append(" and s.storeNo like '%" + storeNo + "%'");
xjSql.append(" and s.storeNo like '%" + storeNo + "%'");
}
if (!StringUtil.isEmpty(terminalNo)) {
sql.append(" and po.terminalNo like '%" + terminalNo + "%'");
xjSql.append(" and po.terminalNo like '%" + terminalNo + "%'");
}
if(!StringUtil.isEmpty(searchExecOper)){
if(managerIds != null && managerIds.size()>0){
sql.append(" and (");
xjSql.append(" and (");
for(int i = 0;i0){
mapXJ=(HashMap) xjNumList.get(0);
}
try {
Label lableXJ = null;
Label lableXZ = null;
Label lableHZ = null;
Label lableSJ = null;
Label lableQJ = null;
Label lableYJ = null;
Label lableGJ = null;

lableXJ = new Label(0,0,"状态",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(1,0,"细分状态",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(2,0,"数量",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(3,0,"总数",titleFormat);
sheetXJ.addCell(lableXJ);

//复合表格
sheetXJ.mergeCells(0, 1, 0, 3);
lableXJ = new Label(0,1,"正常",titleFormat);
sheetXJ.addCell(lableXJ);
sheetXJ.mergeCells(3, 1, 3, 3);
lableXJ = new Label(3,1,mapXJ==null?"0":(mapXJ.get("zcZongShu")==null?"0":mapXJ.get("zcZongShu").toString()),detFormat);
sheetXJ.addCell(lableXJ);

lableXJ = new Label(1,1,"正常适用",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(2,1,mapXJ==null?"0":(mapXJ.get("zcsy")==null?"0":mapXJ.get("zcsy").toString()),detFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(1,2,"机具故障",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(2,2,mapXJ==null?"0":(mapXJ.get("jjgz")==null?"0":mapXJ.get("jjgz").toString()),detFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(1,3,"线路故障",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(2,3,mapXJ==null?"0":(mapXJ.get("xlgz")==null?"0":mapXJ.get("xlgz").toString()),detFormat);
sheetXJ.addCell(lableXJ);

sheetXJ.mergeCells(0, 4, 0, 18);
lableXJ = new Label(0,4,"异常",titleFormat);
sheetXJ.addCell(lableXJ);
sheetXJ.mergeCells(3, 4, 3, 18);
lableXJ = new Label(3,4,mapXJ==null?"0":(mapXJ.get("ycZongShu")==null?"0":mapXJ.get("ycZongShu").toString()),detFormat);
sheetXJ.addCell(lableXJ);

lableXJ = new Label(1,4,"不使用",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(2,4,mapXJ==null?"0":(mapXJ.get("bsy")==null?"0":mapXJ.get("bsy").toString()),detFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(1,5,"常连海",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(2,5,mapXJ==null?"0":(mapXJ.get("clh")==null?"0":mapXJ.get("clh").toString()),detFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(1,6,"电子银行部",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(2,6,mapXJ==null?"0":(mapXJ.get("dzyhb")==null?"0":mapXJ.get("dzyhb").toString()),detFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(1,7,"外区",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(2,7,mapXJ==null?"0":(mapXJ.get("wq")==null?"0":mapXJ.get("wq").toString()),detFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(1,8,"移机",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(2,8,mapXJ==null?"0":(mapXJ.get("yj")==null?"0":mapXJ.get("yj").toString()),detFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(1,9,"异常(有机具)",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(2,9,mapXJ==null?"0":(mapXJ.get("ycyjj")==null?"0":mapXJ.get("ycyjj").toString()),detFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(1,10,"不配合(待定)",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(2,10,mapXJ==null?"0":(mapXJ.get("bphdd")==null?"0":mapXJ.get("bphdd").toString()),detFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(1,11,"不配合(有机具)",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(2,11,mapXJ==null?"0":(mapXJ.get("bphyjj")==null?"0":mapXJ.get("bphyjj").toString()),detFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(1,12,"遗失",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(2,12,mapXJ==null?"0":(mapXJ.get("ys")==null?"0":mapXJ.get("ys").toString()),detFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(1,13,"支行回收",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(2,13,mapXJ==null?"0":(mapXJ.get("zhhs")==null?"0":mapXJ.get("zhhs").toString()),detFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(1,14,"注销",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(2,14,mapXJ==null?"0":(mapXJ.get("zx")==null?"0":mapXJ.get("zx").toString()),detFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(1,15,"切机",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(2,15,mapXJ==null?"0":(mapXJ.get("qj")==null?"0":mapXJ.get("qj").toString()),detFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(1,16,"套码",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(2,16,mapXJ==null?"0":(mapXJ.get("tm")==null?"0":mapXJ.get("tm").toString()),detFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(1,17,"地址更新",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(2,17,mapXJ==null?"0":(mapXJ.get("dzgx")==null?"0":mapXJ.get("dzgx").toString()),detFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(1,18,"其他",titleFormat);
sheetXJ.addCell(lableXJ);
lableXJ = new Label(2,18,mapXJ==null?"0":(mapXJ.get("kb")==null?"0":mapXJ.get("kb").toString()),detFormat);
sheetXJ.addCell(lableXJ);

sheetXJ.mergeCells(0, 19, 2, 19);
lableXJ = new Label(0,19,"合计",titleFormat);
sheetXJ.addCell(lableXJ);
//			lableXJ = new Label(3,19,mapXJ==null?"0":(mapXJ.get("hjZongShu")==null?"0":mapXJ.get("hjZongShu").toString()),detFormat);
lableXJ = new Label(3,19, String.valueOf(Integer.parseInt(mapXJ==null?"0":(mapXJ.get("zcZongShu")==null?"0":mapXJ.get("zcZongShu").toString()))+Integer.parseInt(mapXJ==null?"0":(mapXJ.get("ycZongShu")==null?"0":mapXJ.get("ycZongShu").toString()))) ,detFormat);
sheetXJ.addCell(lableXJ);

int columnXJ = 4;
int columnXZ = 0;
int columnHZ = 0;
int columnSJ = 0;
int columnQJ = 0;
int columnYJ = 0;
int columnGJ = 0;

//			sheet.setRowView(0, 588, false);
lableXJ = new Label(columnXJ++, 0, "设备状态", titleFormat);
lableXZ = new Label(columnXZ++, 0, "设备状态", titleFormat);
lableHZ = new Label(columnHZ++, 0, "设备状态", titleFormat);
lableSJ = new Label(columnSJ++, 0, "设备状态", titleFormat);
lableQJ = new Label(columnQJ++, 0, "设备状态", titleFormat);
lableYJ = new Label(columnYJ++, 0, "设备状态", titleFormat);
lableGJ = new Label(columnGJ++, 0, "设备状态", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);
//			sheetXJ.setColumnView(1, 9);
lableXJ = new Label(columnXJ++, 0, "工单备注", titleFormat);
lableXZ = new Label(columnXZ++, 0, "工单备注", titleFormat);
lableHZ = new Label(columnHZ++, 0, "工单备注", titleFormat);
lableSJ = new Label(columnSJ++, 0, "工单备注", titleFormat);
lableQJ = new Label(columnQJ++, 0, "工单备注", titleFormat);
lableYJ = new Label(columnYJ++, 0, "工单备注", titleFormat);
lableGJ = new Label(columnGJ++, 0, "工单备注", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);
//			sheet.setColumnView(2, 9);
lableXJ = new Label(columnXJ++, 0, "区域", titleFormat);
lableXZ = new Label(columnXZ++, 0, "区域", titleFormat);
lableHZ = new Label(columnHZ++, 0, "区域", titleFormat);
lableSJ = new Label(columnSJ++, 0, "区域", titleFormat);
lableQJ = new Label(columnQJ++, 0, "区域", titleFormat);
lableYJ = new Label(columnYJ++, 0, "区域", titleFormat);
lableGJ = new Label(columnGJ++, 0, "区域", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);
//			sheet.setColumnView(3, 9);
lableXJ = new Label(columnXJ++, 0, "确认人", titleFormat);
lableXZ = new Label(columnXZ++, 0, "确认人", titleFormat);
lableHZ = new Label(columnHZ++, 0, "确认人", titleFormat);
lableSJ = new Label(columnSJ++, 0, "确认人", titleFormat);
lableQJ = new Label(columnQJ++, 0, "确认人", titleFormat);
lableYJ = new Label(columnYJ++, 0, "确认人", titleFormat);
lableGJ = new Label(columnGJ++, 0, "确认人", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);
//			sheet.setColumnView(4, 9);
lableXJ = new Label(columnXJ++, 0, "客户经理", titleFormat);
lableXZ = new Label(columnXZ++, 0, "客户经理", titleFormat);
lableHZ = new Label(columnHZ++, 0, "客户经理", titleFormat);
lableSJ = new Label(columnSJ++, 0, "客户经理", titleFormat);
lableQJ = new Label(columnQJ++, 0, "客户经理", titleFormat);
lableYJ = new Label(columnYJ++, 0, "客户经理", titleFormat);
lableGJ = new Label(columnGJ++, 0, "客户经理", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);
//			sheet.setColumnView(5, 9);
lableXJ = new Label(columnXJ++, 0, "客户经理电话", titleFormat);
lableXZ = new Label(columnXZ++, 0, "客户经理电话", titleFormat);
lableHZ = new Label(columnHZ++, 0, "客户经理电话", titleFormat);
lableSJ = new Label(columnSJ++, 0, "客户经理电话", titleFormat);
lableQJ = new Label(columnQJ++, 0, "客户经理电话", titleFormat);
lableYJ = new Label(columnYJ++, 0, "客户经理电话", titleFormat);
lableGJ = new Label(columnGJ++, 0, "客户经理电话", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);
//			sheet.setColumnView(6, 15);
//			sheet.setColumnView(7, cellView);
lableXJ = new Label(columnXJ++, 0, "商户代码 ", titleFormat);
lableXZ = new Label(columnXZ++, 0, "商户代码", titleFormat);
lableHZ = new Label(columnHZ++, 0, "商户代码", titleFormat);
lableSJ = new Label(columnSJ++, 0, "商户代码", titleFormat);
lableQJ = new Label(columnQJ++, 0, "商户代码", titleFormat);
lableYJ = new Label(columnYJ++, 0, "商户代码", titleFormat);
lableGJ = new Label(columnGJ++, 0, "商户代码", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);
//			sheet.setColumnView(8, cellView);
lableXJ = new Label(columnXJ++, 0, "终端号", titleFormat);
lableXZ = new Label(columnXZ++, 0, "终端号", titleFormat);
lableHZ = new Label(columnHZ++, 0, "终端号", titleFormat);
lableSJ = new Label(columnSJ++, 0, "终端号", titleFormat);
lableQJ = new Label(columnQJ++, 0, "终端号", titleFormat);
lableYJ = new Label(columnYJ++, 0, "终端号", titleFormat);
lableGJ = new Label(columnGJ++, 0, "终端号", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);
//			sheet.setColumnView(9, cellView);
lableXJ = new Label(columnXJ++, 0, "商户中文名称", titleFormat);
lableXZ = new Label(columnXZ++, 0, "商户中文名称", titleFormat);
lableHZ = new Label(columnHZ++, 0, "商户中文名称", titleFormat);
lableSJ = new Label(columnSJ++, 0, "商户中文名称", titleFormat);
lableQJ = new Label(columnQJ++, 0, "商户中文名称", titleFormat);
lableYJ = new Label(columnYJ++, 0, "商户中文名称", titleFormat);
lableGJ = new Label(columnGJ++, 0, "商户中文名称", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);
//			sheet.setColumnView(10, 100);
lableXJ = new Label(columnXJ++, 0, "经营地址", titleFormat);
lableXZ = new Label(columnXZ++, 0, "经营地址", titleFormat);
lableHZ = new Label(columnHZ++, 0, "经营地址", titleFormat);
lableSJ = new Label(columnSJ++, 0, "经营地址", titleFormat);
lableQJ = new Label(columnQJ++, 0, "经营地址", titleFormat);
lableYJ = new Label(columnYJ++, 0, "经营地址", titleFormat);
lableGJ = new Label(columnGJ++, 0, "经营地址", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);
//			sheet.setColumnView(11, cellView);
lableXJ = new Label(columnXJ++, 0, "商户新址", titleFormat);
lableXZ = new Label(columnXZ++, 0, "商户新址", titleFormat);
lableHZ = new Label(columnHZ++, 0, "商户新址", titleFormat);
lableSJ = new Label(columnSJ++, 0, "商户新址", titleFormat);
lableQJ = new Label(columnQJ++, 0, "商户新址", titleFormat);
lableYJ = new Label(columnYJ++, 0, "商户新址", titleFormat);
lableGJ = new Label(columnGJ++, 0, "商户新址", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);
//			sheet.setColumnView(12, cellView);
lableXJ = new Label(columnXJ++, 0, "商户联系人 ", titleFormat);
lableXZ = new Label(columnXZ++, 0, "商户联系人 ", titleFormat);
lableHZ = new Label(columnHZ++, 0, "商户联系人 ", titleFormat);
lableSJ = new Label(columnSJ++, 0, "商户联系人 ", titleFormat);
lableQJ = new Label(columnQJ++, 0, "商户联系人 ", titleFormat);
lableYJ = new Label(columnYJ++, 0, "商户联系人 ", titleFormat);
lableGJ = new Label(columnGJ++, 0, "商户联系人 ", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);
//			sheet.setColumnView(13, cellView);
lableXJ = new Label(columnXJ++, 0, "商户联系人电话", titleFormat);
lableXZ = new Label(columnXZ++, 0, "商户联系人电话", titleFormat);
lableHZ = new Label(columnHZ++, 0, "商户联系人电话", titleFormat);
lableSJ = new Label(columnSJ++, 0, "商户联系人电话", titleFormat);
lableQJ = new Label(columnQJ++, 0, "商户联系人电话", titleFormat);
lableYJ = new Label(columnYJ++, 0, "商户联系人电话", titleFormat);
lableGJ = new Label(columnGJ++, 0, "商户联系人电话", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);
//			sheet.setColumnView(14, cellView);
lableXJ = new Label(columnXJ++, 0, "开户日期", titleFormat);
lableXZ = new Label(columnXZ++, 0, "开户日期", titleFormat);
lableHZ = new Label(columnHZ++, 0, "开户日期", titleFormat);
lableSJ = new Label(columnSJ++, 0, "开户日期", titleFormat);
lableQJ = new Label(columnQJ++, 0, "开户日期", titleFormat);
lableYJ = new Label(columnYJ++, 0, "开户日期", titleFormat);
lableGJ = new Label(columnGJ++, 0, "开户日期", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);
//			sheet.setColumnView(15, cellView);
lableXJ = new Label(columnXJ++, 0, "安全模块号", titleFormat);
lableXZ = new Label(columnXZ++, 0, "安全模块号", titleFormat);
lableHZ = new Label(columnHZ++, 0, "安全模块号", titleFormat);
lableSJ = new Label(columnSJ++, 0, "安全模块号", titleFormat);
lableQJ = new Label(columnQJ++, 0, "安全模块号", titleFormat);
lableYJ = new Label(columnYJ++, 0, "安全模块号", titleFormat);
lableGJ = new Label(columnGJ++, 0, "安全模块号", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);
//			sheet.setColumnView(16, cellView);
lableXJ = new Label(columnXJ++, 0, "终端序列号", titleFormat);
lableXZ = new Label(columnXZ++, 0, "终端序列号", titleFormat);
lableHZ = new Label(columnHZ++, 0, "终端序列号", titleFormat);
lableSJ = new Label(columnSJ++, 0, "终端序列号", titleFormat);
lableQJ = new Label(columnQJ++, 0, "终端序列号", titleFormat);
lableYJ = new Label(columnYJ++, 0, "终端序列号", titleFormat);
lableGJ = new Label(columnGJ++, 0, "终端序列号", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);
//			sheet.setColumnView(17, cellView);
lableXJ = new Label(columnXJ++, 0, "绑定固定电话号码", titleFormat);
lableXZ = new Label(columnXZ++, 0, "绑定固定电话号码", titleFormat);
lableHZ = new Label(columnHZ++, 0, "绑定固定电话号码", titleFormat);
lableSJ = new Label(columnSJ++, 0, "绑定固定电话号码", titleFormat);
lableQJ = new Label(columnQJ++, 0, "绑定固定电话号码", titleFormat);
lableYJ = new Label(columnYJ++, 0, "绑定固定电话号码", titleFormat);
lableGJ = new Label(columnGJ++, 0, "绑定固定电话号码", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);
//			sheet.setColumnView(18, cellView);
lableXJ = new Label(columnXJ++, 0, "设备类型", titleFormat);
lableXZ = new Label(columnXZ++, 0, "设备类型", titleFormat);
lableHZ = new Label(columnHZ++, 0, "设备类型", titleFormat);
lableSJ = new Label(columnSJ++, 0, "设备类型", titleFormat);
lableQJ = new Label(columnQJ++, 0, "设备类型", titleFormat);
lableYJ = new Label(columnYJ++, 0, "设备类型", titleFormat);
lableGJ = new Label(columnGJ++, 0, "设备类型", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);
//			sheet.setColumnView(19, cellView);
lableXJ = new Label(columnXJ++, 0, "开户行", titleFormat);
lableXZ = new Label(columnXZ++, 0, "开户行", titleFormat);
lableHZ = new Label(columnHZ++, 0, "开户行", titleFormat);
lableSJ = new Label(columnSJ++, 0, "开户行", titleFormat);
lableQJ = new Label(columnQJ++, 0, "开户行", titleFormat);
lableYJ = new Label(columnYJ++, 0, "开户行", titleFormat);
lableGJ = new Label(columnGJ++, 0, "开户行", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);
//			sheet.setColumnView(20, cellView);
lableXJ = new Label(columnXJ++, 0, "确认日期", titleFormat);
lableXZ = new Label(columnXZ++, 0, "确认日期", titleFormat);
lableHZ = new Label(columnHZ++, 0, "确认日期", titleFormat);
lableSJ = new Label(columnSJ++, 0, "确认日期", titleFormat);
lableQJ = new Label(columnQJ++, 0, "确认日期", titleFormat);
lableYJ = new Label(columnYJ++, 0, "确认日期", titleFormat);
lableGJ = new Label(columnGJ++, 0, "确认日期", titleFormat);
sheetXJ.addCell(lableXJ);
sheetXZ.addCell(lableXZ);
sheetHZ.addCell(lableHZ);
sheetSJ.addCell(lableSJ);
sheetQJ.addCell(lableQJ);
sheetYJ.addCell(lableYJ);
sheetGJ.addCell(lableGJ);

CellView cellView = new CellView();
cellView.setAutosize(true); //设置自动大小
if (result != null && result.size() > 0) {
//				int row = 0;
//				int firstRow = 1;
int rowXJ=1,rowXZ=1,rowHZ=1,rowSJ=1,rowQJ=1,rowYJ=1,rowGJ=1;
String type="";
boolean isEnd = true;
for (int i = 0; i < result.size(); i++) {
columnXJ = 4;
columnXZ = 0;
columnHZ = 0;
columnSJ = 0;
columnQJ = 0;
columnYJ = 0;
columnGJ = 0;
Object[] obj = (Object[]) result.get(i);
String deviceStatus = (String) obj[0];
String bussManagerName = (String) obj[4];
String orderType = (String) obj[20];
String workType = (String) obj[21];
if(orderType.contains(",")){
type = "综合工单";
}else{
type=orderType.equals("14")?PosConst.posServiceOrderType.get(workType):PosConst.posOrderType.get(orderType);
}
Manager manager = PosManagerHelpler.getManagerById(bussManagerName);
String deviceStatus1 = PosConst.deviceStatus.get(deviceStatus);
if(orderType.contains("15")){//巡检
sheetXJ=getSheet(sheetXJ,lableXJ,columnXJ,rowXJ,obj);
rowXJ++;
}
if(orderType.contains("10")){//新装
sheetXZ=getSheet(sheetXZ,lableXZ,columnXZ,rowXZ,obj);
rowXZ++;
}
if(orderType.contains("11")){//换装
sheetHZ=getSheet(sheetHZ,lableHZ,columnHZ,rowHZ,obj);
rowHZ++;
}
if(orderType.contains("14") && workType.contains("3")){//程序升级
sheetSJ=getSheet(sheetSJ,lableSJ,columnSJ,rowSJ,obj);
rowSJ++;
}
if("18".equals(deviceStatus)){//切机
sheetQJ=getSheet(sheetQJ,lableQJ,columnQJ,rowQJ,obj);
rowQJ++;
}
if("07".equals(deviceStatus)){//移机
sheetYJ=getSheet(sheetYJ,lableYJ,columnYJ,rowYJ,obj);
rowYJ++;
}
if("22".equals(deviceStatus)){//跟进
sheetGJ=getSheet(sheetGJ,lableGJ,columnGJ,rowGJ,obj);
rowGJ++;
}

//					row++;
//					firstRow++;
}
}

} catch (Exception ex) {
ex.printStackTrace();
throw ex;
} finally {
if (workbook != null) {
workbook.write();
workbook.close();
}
if (os != null) {
os.close();
}
}
}

public static WritableSheet getSheet(WritableSheet sheet,Label lable,int column,int row,Object[] obj) throws RowsExceededException, WriteException{
String deviceStatus = (String) obj[0];
String statusExplain = (String) obj[1];
String bussOrgId = (String) obj[2];
String execOperNo = (String) obj[3];
String bussManagerName = (String) obj[4];
String storeNo = (String) obj[5];
String terminalNo = (String) obj[6];
String companyFullName = (String) obj[7];
String companyDoor = (String) obj[8];
String address = (String) obj[9];
String businessName = (String) obj[10];
String businessMobile = (String) obj[11];
String registrationDate = (String) obj[12];
String securityModuleCode = (String) obj[13];
String deviceSn = (String) obj[14];
String businessPhone = (String) obj[15];
String deviceType = (String) obj[16];
String openingBank = (String) obj[17];
String orderTime = (String) obj[18];
String orderStatus = (String) obj[19];
String orderType = (String) obj[20];
String workType = (String) obj[21];
String managerName = (String)obj[22];
String managerPhone = (String)obj[23];
String remark = (String)obj[24];

String type = "";
if(orderType.contains(",")){
type = "综合工单";
}else{
type=orderType.equals("14")?PosConst.posServiceOrderType.get(workType):PosConst.posOrderType.get(orderType);
}
Manager manager = PosManagerHelpler.getManagerById(bussManagerName);
String deviceStatus1 = PosConst.deviceStatus.get(deviceStatus);

//设备状态
sheet.setColumnView(column, 10);//根据内容固定列宽
lable = new Label(column++, row, (deviceStatus1==null?"":deviceStatus1), detFormat);
sheet.addCell(lable);
//工单备注
sheet.setColumnView(column, 50);
lable = new Label(column++, row, remark, detFormat);
sheet.addCell(lable);
//区域
sheet.setColumnView(column, 10);
lable = new Label(column++, row, StoreHelper.getOrgNameByOrgId(bussOrgId), detFormat);
sheet.addCell(lable);
//确认人
sheet.setColumnView(column, 10);
lable = new Label(column++, row,PosManagerHelpler.getManagerNameById(execOperNo), detFormat);
sheet.addCell(lable);
//客户经理
sheet.setColumnView(column, 10);
lable = new Label(column++, row,managerName, detFormat);
sheet.addCell(lable);
//客户经理电话
sheet.setColumnView(column, 15);
lable = new Label(column++, row, managerPhone, detFormat);
sheet.addCell(lable);
//商户代码
sheet.setColumnView(column, 25);
lable = new Label(column++, row, storeNo, detFormat);
sheet.addCell(lable);
//终端号
sheet.setColumnView(column, 15);
lable = new Label(column++, row, terminalNo, detFormat);
sheet.addCell(lable);
//商户中文名称
sheet.setColumnView(column, 50);
lable = new Label(column++, row, companyFullName, detFormat);
sheet.addCell(lable);
//经营地址
sheet.setColumnView(column, 50);
lable = new Label(column++, row, companyDoor, detFormat);
sheet.addCell(lable);
//商户新址
sheet.setColumnView(column, 50);
lable = new Label(column++, row, address, detFormat);
sheet.addCell(lable);
//商户联系人
sheet.setColumnView(column, 10);
lable = new Label(column++, row, businessName,detFormat);
sheet.addCell(lable);
//商户联系人电话
sheet.setColumnView(column, 15);
lable = new Label(column++, row, businessMobile, detFormat);
sheet.addCell(lable);
//开户日期
sheet.setColumnView(column, 20);
lable = new Label(column++, row, registrationDate, detFormat);
sheet.addCell(lable);
//安全模块号
sheet.setColumnView(column, 25);
lable = new Label(column++, row, securityModuleCode, detFormat);
sheet.addCell(lable);
//终端序列号
sheet.setColumnView(column, 20);
lable = new Label(column++, row, deviceSn,detFormat);
sheet.addCell(lable);
//绑定固定电话号码
sheet.setColumnView(column, 15);
lable = new Label(column++, row, businessPhone,detFormat);
sheet.addCell(lable);
//设备类型
sheet.setColumnView(column, 10);
lable = new Label(column++, row, (deviceType.equals("0")?"商务通":(deviceType.equals("1")?"POS":"")),detFormat);
sheet.addCell(lable);
//开户行
sheet.setColumnView(column, 30);
lable = new Label(column++, row, openingBank,detFormat);
sheet.addCell(lable);
//确认日期
sheet.setColumnView(column, 20);
lable = new Label(column++, row, orderTime,detFormat);
sheet.addCell(lable);

//		lable = new Label(column++, row, PosConst.posOrderStatus.get(orderStatus),detFormat);
//		sheet.addCell(lable);
//		lable = new Label(column++, row, type,detFormat);
//		sheet.addCell(lable);
//		lable = new Label(column++, row, statusExplain, detFormat);
//		sheet.addCell(lable);

return sheet;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: