java 内下载excal2003方法
来源:互联网 发布:安卓版看图软件 编辑:程序博客网 时间:2024/06/05 01:53
java下载excal2003的公共方法
public static File exportToexcel(List list,HSSFWorkbook workbook,List<TemplateFieldPO> fieldList,TemplateFormPO po,String filenum) throws IOException { String[] fieldArray =null; String[] headerArray =null; IPersistenceService dao = SwordPersistenceUtils.getPersistenceService(); if(po.getIsDisabled().trim().equals("1")){ fieldArray=new String[fieldList.size()+10]; headerArray=new String[fieldList.size()+10]; fieldArray[0]="name"; headerArray[0]="姓名"; fieldArray[1]="dcsid"; headerArray[1]="残疾证号"; fieldArray[2]="nation"; headerArray[2]="民族"; fieldArray[3]="regaddr"; headerArray[3]="户籍地址"; List<Map<String,Object>> listBaseInfo=findBaseInfoList(dao); for(int i=0;i<listBaseInfo.size();i++){ fieldArray[i+4]=listBaseInfo.get(i).get("dictCode").toString(); headerArray[i+4]=listBaseInfo.get(i).get("dictName").toString(); } for(int i=10;i<fieldArray.length;i++){ fieldArray[i]=fieldList.get(i-10).getFieldCode(); headerArray[i]=fieldList.get(i-10).getFieldName(); } }else{ fieldArray=new String[fieldList.size()]; headerArray=new String[fieldList.size()]; for(int i=0;i<fieldArray.length;i++){ fieldArray[i]=fieldList.get(i).getFieldCode(); headerArray[i]=fieldList.get(i).getFieldName(); } } HSSFSheet sheet = workbook.createSheet("sheet1"); //第一行,表头 Row row2 = sheet.createRow((short)0); for(int i=0;i<headerArray.length;i++){ Cell cel2 = row2.createCell((short)i); cel2.setCellValue(headerArray[i]); } //从第二行开始,数据 HSSFCellStyle style = workbook.createCellStyle(); // 样式对象 HSSFFont font = workbook.createFont(); Row row = null; Cell cel = null; Map map=null; Object fieldvalue=null; String value=null; ////////////////////GLW TemplateFieldPO fieldpo=fieldList.get(1); Map<String,String> baseMap=DownUtil.getBaseDictName(dao); Map<String,String> TempMap=DownUtil.getItemName(dao, fieldpo.getFormId()); //////////////////// if(po.getIsDisabled().trim().equals("1")){ for(int i=0;i<list.size();i++){ int j = 0; row = sheet.createRow((i+1)); map=(Map)list.get(i); for(int k=0;k<fieldArray.length;k++){ fieldvalue=map.get(fieldArray[k]); if(fieldvalue==null){ creatCell(workbook,style,font,row,cel,j,""); }else{ if(k<4){ creatCell(workbook,style,font,row,cel,j,fieldvalue.toString()); }else if(k<10){ value=baseMap.get(fieldArray[k].toString()+"_"+fieldvalue.toString()); creatCell(workbook,style,font,row,cel,j,value); }else{ TemplateFieldPO fieldpo_1=fieldList.get(k-10); if(fieldpo_1.getComponentType()!=null && (fieldpo_1.getComponentType().trim().equals("3") || fieldpo_1.getComponentType().trim().equals("4") || fieldpo_1.getComponentType().trim().equals("5"))){ value=DownUtil.getNameByMap(baseMap, TempMap, fieldpo_1.getDictCode(), fieldvalue.toString()); creatCell(workbook,style,font,row,cel,j,value); }else{ creatCell(workbook,style,font,row,cel,j,fieldvalue.toString()); } } } j++; } } }else{ for(int i=0;i<list.size();i++){ int j = 0; row = sheet.createRow((i+1)); map=(Map)list.get(i); for(int k=0;k<fieldArray.length;k++){ fieldvalue=map.get(fieldArray[k]); if(fieldvalue==null){ creatCell(workbook,style,font,row,cel,j,""); }else{ TemplateFieldPO fieldpo_2=fieldList.get(k); if(fieldpo_2.getComponentType()!=null && (fieldpo_2.getComponentType().trim().equals("3") || fieldpo_2.getComponentType().trim().equals("4") || fieldpo_2.getComponentType().trim().equals("5"))){ value=DownUtil.getNameByMap(baseMap, TempMap, fieldpo_2.getDictCode(), fieldvalue.toString()); creatCell(workbook,style,font,row,cel,j,value); }else{ creatCell(workbook,style,font,row,cel,j,fieldvalue.toString()); } } j++; } } } //将文件保存到指定位置 String filePath = TemplateFormService.class.getClassLoader().getResource("").toString(); int index = filePath.lastIndexOf("WEB-INF"); if(filePath.indexOf("file")<0){ filePath = filePath.substring(1, index); }else{ filePath = filePath.substring(6, index); } String time=new SimpleDateFormat("yyyyMMddhhmmss").format(new Date()); filePath = filePath+"excelFiles/"+po.getFormCode()+time+"_"+filenum+".xls"; File file=new File(filePath); try{ OutputStream out=new FileOutputStream(file); workbook.write(out); out.close(); }catch(Exception e){ e.printStackTrace(); } return file; } //////////////////////////////////////////// private static List<Map<String,Object>> findBaseInfoList(IPersistenceService dao){ StringBuffer sql=new StringBuffer(); sql.append("select distinct t.dict_code,t.dict_name from base_info_dict_item t"); List<Map<String,Object>> list=dao.findAllBySql(sql.toString()); return list; }
其中有大量冗余部分 是对数据校验和处理,可以去除,这里放的是源代码 所以不做处理了,这个框架是公司内部框架,有些个别方法晚上是查不到的,同样不做解释
0 0
- java 内下载excal2003方法
- java方法内部类
- Java:方法内部类
- JAVA中的内部类--方法内部类
- java内部类之方法内部类
- JAVA 局部方法内部类
- Java 中的方法内部类
- Java 中的方法内部类
- Java 中的方法内部类
- Java中的方法内部类
- Java 中的方法内部类
- Java 中的方法内部类
- Java 中的方法内部类
- Servlet下载方法 Java
- 墙内快速下载Android SDK的方法
- 在家里免费下载知网内的论文方法
- 内表数据下载到EXCEL的几种方法
- JAVA之内部类--成员内部类- 静态内部类- 方法内部类- 匿名内部类
- Linux安卓开发环境搭建及常见软件问题
- Android中保存静态秘钥(加密秘钥,特殊id字段等)
- 100天土鸡饲养计划(77)
- VS2010下安装Cocos2dx完整教程(转载自日魂月魄_博客园)
- 实现类似格瓦拉的转场动画
- java 内下载excal2003方法
- Linux下shell入门简介
- 在linux环境下配置SeetaFace环境
- oj-7-A-输出“goog luck”
- QT-自绘标题栏(采用宏定义的方式)
- excl导入 poi
- webdrver中简单对象的定位(python)
- PHP命名规则
- composer 安装smarty laravel。。