package xin.glue.ui.H.H01; import java.net.URLDecoder; import xin.glue.ui.common.OutExcelCommon; import xin.glue.ui.common.XmlOutput; import com.posdata.glue.biz.activity.PosActivity; import com.posdata.glue.biz.constants.PosBizControlConstants; import com.posdata.glue.context.PosContext; public class OuterExcelReport extends PosActivity { public String runActivity(PosContext context) { String[] oType = (String[])context.get("oType");//文件类型 String[] sheetName = (String[])context.get("sheetName");//工作表名称 String[] title = (String[])context.get("title");//首行列名 String[] colRef = (String[])context.get("colRef");//列对应字段 String[] list = (String[])context.get("list");//数据集 String[] jsonMerges = (String[])context.get("jsonMerges");//合并行列 String fileName= this.getClass().getClassLoader().getResource("/").getPath().replaceFirst("WEB-INF/classes/", "")+"tmp/"; try { fileName =URLDecoder.decode(fileName,"utf-8"); if("xls".equals(oType[0].toString())){ OutExcelCommon.outExcel(list[0], fileName, sheetName[0], title, colRef,jsonMerges[0]); }else if ("xml".equals(oType[0].toString())){ fileName = fileName +sheetName[0].toString()+ ".xml"; XmlOutput.createXml(fileName,list[0],colRef,title); XmlOutput.compress(fileName); }else{ } } catch (Exception e) { e.printStackTrace(); logger.logError(e.getMessage()); context.setException(e); context.put("errorMsg", e.getMessage()); return PosBizControlConstants.FAILURE; } return PosBizControlConstants.SUCCESS; } }