Java 导出excel文件
public Map<String,String> doExport(String sort,long fondsId,long metadataType) throws IOException{//让用户选择导出文件的目录MetaDataService meService=new MetaDataService();List<MetadataPO> metaList=meService.getmetaDataList(sort,fondsId,metadataType).getList();StringBuffer strMessage=new StringBuffer();//创建一个工作表//创建cell代号int z=0;HSSFWorkbook hssfworkbook = new HSSFWorkbook();Sheet sheet=hssfworkbook.createSheet();//导出元数据的表头信息String metaData[]={"元数据名称","元数据中文显示名称","元数据英文显示名称","元数据参照类型","元数据长度","元数据显示长度","元数据默认值","元数据说明","元数据属性","是数据是否参照","元数据参照类型","实体分类ID","是否自动增长","自动增长类型","自动增长位数","自动增长步长","是否创建索引","是否自动全选","是否携带项","是否必录项","约束规则","格式化字符串","文字颜色","显示位置","是否显示","是否归档库显示","是否整理库显示","归档类型","数据类别"};Row row0=sheet.createRow(0);strMessage.append("导出结果:\n开始导出元数据!!!!!\n");for(int k=0;k<29;k++){ row0.createCell(k).setCellValue(metaData[k]);}//开始创建元数据for(int i=1;i<=metaList.size();i++){Row row=sheet.createRow(i);MetadataPO mePoExport=metaList.get(i-1);//1获取元数据名称row.createCell(z).setCellValue(mePoExport.getName());z++;//2获取元数据中文名称row.createCell(z).setCellValue(mePoExport.getDisplaylabelZh());z++;//2数据中文名称…………………这里为n个设置设置单元格值的代码与上下类似故删除…………………//数据类别row.createCell(z).setCellValue(mePoExport.getType());z=0;}strMessage.append("成功导出"+metaList.size()+"条数据!\n");strMessage.append("元数据已经保存到桌面:\n元数据__[时间].xml");FileSystemView fsv = FileSystemView.getFileSystemView();String deskpath=fsv.getHomeDirectory().toString();//会将导出的元数据表默认保存到桌面File file=new File(deskpath+"/元数据__"+DateUtil.getTimeStamp()+".xls"); FileOutputStream fOut = new FileOutputStream(file); hssfworkbook.write(fOut); fOut.close(); Map<String,String> map=new HashMap<String, String>(); map.put("message",strMessage.toString());return map;}?