POI导出问题

问题描述

哪个大神能帮我看看哪里有问题,为什么导不出来啊@RequestMapping(value="/dwHdmXls")@ResponseBodypublicStringuploadTempXls(HttpServletRequestreq,HttpServletResponseresp)throwsException{OutputStreamos=resp.getOutputStream();resp.setHeader("Content-Disposition","attachment;filename=DB-"+FORMATE.format(newDate())+".xls");resp.setCharacterEncoding("UTF-8");List<String>columns=newArrayList<String>();columns.add("ID");columns.add("Project");columns.add("Model");List<Object[]>data=newArrayList<Object[]>();List<StuInfo>stuList=stuService.findById(null);if(stuList!=null&&stuList.size()>0){for(StuInfostu:stuList){Object[]obj={stu.getId(),stu.getProjectName(),stu.getModelName};data.add(obj);}}ExcelUtil.createExcel(null,data,columns,os);returnnull;}

下面是创建Excel的方法publicstaticvoidcreateExcel(Stringtitle,List<Object[]>data,List<String>columns,OutputStreamos)throwsIOException{HSSFWorkbookworkbook=newHSSFWorkbook();HSSFSheetsheet=workbook.createSheet();/*设置表头的格式*/HSSFCellStylecellStyle=workbook.createCellStyle();cellStyle.setFillForegroundColor(HSSFColor.YELLOW.index);cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);cellStyle.setVerticalAlignment(HSSFCellStyle.ALIGN_CENTER);cellStyle.setBorderBottom(HSSFBorderFormatting.BORDER_THIN);cellStyle.setBorderLeft((short)1);cellStyle.setBorderRight((short)1);cellStyle.setBorderTop((short)1);HSSFFontfont=workbook.createFont();font.setFontHeightInPoints((short)10);font.setFontName("宋体");font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);cellStyle.setFont(font);/*内容的样式*/HSSFCellStylecontentStyle=workbook.createCellStyle();//contentStyle.setFillForegroundColor(HSSFColor.YELLOW.index);//contentStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);contentStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);contentStyle.setVerticalAlignment(HSSFCellStyle.ALIGN_CENTER);contentStyle.setBorderBottom(HSSFBorderFormatting.BORDER_THIN);contentStyle.setBorderLeft((short)1);contentStyle.setBorderRight((short)1);contentStyle.setBorderTop((short)1);HSSFFontcontentfont=workbook.createFont();contentfont.setFontHeightInPoints((short)10);contentfont.setFontName("宋体");intindexRow=0;if(!isEmpty(title)){HSSFCellStyletitleStyle=workbook.createCellStyle();titleStyle.setVerticalAlignment(HSSFCellStyle.ALIGN_CENTER);titleStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);titleStyle.setVerticalAlignment(HSSFCellStyle.ALIGN_CENTER);titleStyle.setBorderBottom(HSSFBorderFormatting.BORDER_THIN);titleStyle.setBorderLeft((short)1);titleStyle.setBorderRight((short)1);titleStyle.setBorderTop((short)1);titleStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);HSSFFonttitleFont=workbook.createFont();titleFont.setFontHeightInPoints((short)18);titleFont.setFontName("宋体");titleFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);titleStyle.setFont(titleFont);HSSFRowtitleRow=sheet.createRow(0);titleRow.setHeight((short)30);titleRow.setHeightInPoints(30);sheet.addMergedRegion(newCellRangeAddress(0,0,0,!isEmpty(columns)?(columns.size()>1)?columns.size()-1:1:1));Cellcell=titleRow.createCell(0);cell.setCellValue(newHSSFRichTextString(title));cell.setCellStyle(titleStyle);indexRow=1;}/*设置表头的行*/HSSFRowfirstRow=sheet.createRow(indexRow);/*设置表头*/if(columns!=null&&columns.size()>0){for(inti=0;i<columns.size();i++){HSSFCellcell=firstRow.createCell(i);cell.setCellType(HSSFCell.ENCODING_UTF_16);cell.setCellStyle(cellStyle);cell.setCellValue(newHSSFRichTextString(columns.get(i)));}}DateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");/*输出数据*/if(data!=null&&data.size()>0){for(inti=0;i<data.size();i++){HSSFRowrow=sheet.createRow(i+indexRow+1);Object[]objs=data.get(i);if(objs!=null&&objs.length>0){for(intj=0,k=objs.length;j<k;j++){HSSFCellcells=row.createCell(j);cells.setCellType(HSSFCell.ENCODING_UTF_16);if(!isEmpty(objs[j])&&objs[j]instanceofTimestamp){Timestamptime=(Timestamp)objs[j];cells.setCellStyle(contentStyle);cells.setCellValue(newHSSFRichTextString(df.format(time)));}elseif(!isEmpty(objs[j])&&(objs[j]instanceofInteger||objs[j]instanceofDouble)){contentStyle.setAlignment(HSSFCellStyle.ALIGN_LEFT);cells.setCellStyle(contentStyle);cells.setCellValue(Double.valueOf(objs[j].toString()));}else{cells.setCellStyle(contentStyle);cells.setCellValue(newHSSFRichTextString(!isEmpty(objs[j])?objs[j].toString():null));}sheet.autoSizeColumn(j);//调整每一列的宽度}}}}workbook.write(os);os.close();}

解决方案

本帖最后由 t261705606 于 2013-12-23 11:37:28 编辑
解决方案二:
有没有异常信息?断点跟进去看看啥情况
解决方案三:
报错误信息啊
解决方案四:
同上
解决方案五:
没有你的环境,你发一堆代码,什么说明也没有,别人怎么看。。
解决方案六:
createExcel把这个方法直接写到uploadTempXls方法里面去就好了,你调用得不对
解决方案七:
引用1楼defonds的回复:

有没有异常信息?断点跟进去看看啥情况

好了,这个方法和代码没有问题,是我的提交方法弄错了。本来是get的我写成post了,所以没反应。谢谢
解决方案八:
楼主客气。恭喜。
解决方案九:
什么是POI。

时间: 2025-01-21 02:51:33

POI导出问题的相关文章

poi 导出ppt时,涉及到table的问题

问题描述 用poi导出ppt时,table需要合并单元格,这个怎么实现,有用到过得吗? 解决方案 解决方案二:最近想实现个poi导出excel的问题还木有实现--解决方案三:那就一起讨论吧你要实现什么?解决方案四:没有找到合适的方法,我最好有2种方法来解决:一是,生成没有合并的ppt,在手动合并二是,用table中的setAnchor(),来确定所以tableCell的位置,但是生成之后,表格就像一张图一样,操作性不强,所以如果是在不能有人工参与的话,还是不要用此种方法

poi-java 使用POI导出大数据,服务器内存不释放

问题描述 java 使用POI导出大数据,服务器内存不释放 RT,我用java 使用POI导出大数据, 数据是可以导出来.但是服务器的内存一直不释放.导一次 内存就会增加100M-2G 视数据量大小.当超过JVM设置的15G时,服务就会瘫痪掉,无法访问. 主要代码如下, MapList list = db.query(SQL); String EXCELNAME = (new StringBuilder(String.valueOf(unitId))).toString(); HSSFWorkb

java poi导出excel,用excel 2013打开样式不能正常显示

问题描述 java poi导出excel,用excel 2013打开样式不能正常显示 我用的是poi3.02.用2010打开没问题,用2013打开只是合并单元格的地方,边框样式不能显示. 解决方案 java poi生成excel并修改excel样式POI 导出EXCEL样式实例POI Excel导出样式设置 解决方案二: poi设置的用07版的应该就可以 解决方案三: poi 针对03和07不同的版本会给出不同的类去处理的 你看看你的代码是 用 03还是 07 生成的 excel

poi导出级联下拉excel

问题描述 poi导出级联下拉excel 导出的excel中,带有级联的省市县.用office打开,完全没有问题.但是用wps打开就会显示不出来.求大神指教.是否是兼容性问题 解决方案 POI导出EXCEL 下拉列表引用

poi java excel-java poi 导出excel 把一样的数据动态合并单元格

问题描述 java poi 导出excel 把一样的数据动态合并单元格 急求,有一个list数据 导出成 这种格式 公司和年份两列是要有动态合并功能 并且年份合并的时候不能跨公司 有没有大神帮帮忙... HSSFWorkbook workbook = new HSSFWorkbook(); String[] columnNames = new String[]{"编号","公司", "年份","性质", "名称&qu

hyperlink-关于 POI 导出EXCEL 中 HyperLink 设置中文地址乱码

问题描述 关于 POI 导出EXCEL 中 HyperLink 设置中文地址乱码 请问大家一个问题,我在使用POI 3.6 的时候, 在为单元格添加HyperLink的时候,遇到添加 中文连接乱码问题,例如我的链接地址是:/file/这是PDF.PDF 在EXCEL中就会变为/file/??PDF.PDF 请问如何解决? 解决方案 http://www.iteye.com/problems/70541

用poi导出word(2003版)图片导不出来的问题

问题描述 用poi导出word(2003版)图片导不出来的问题 如题: 现想将一个个人简历导出doc格式的word文档,但是简历中的照片一直导不出,执行导出的是PoiHwpfExtractContentImpl,求各位解答

在线等大神-poi导出后台提示报错,Minimum column number is 0!

问题描述 poi导出后台提示报错,Minimum column number is 0! 今天在用poi做导出的时候遇到一些问题! java.lang.IllegalArgumentException: Minimum column number is 0 at org.apache.poi.ss.util.CellRangeAddressBase.validateColumn(CellRangeAddressBase.java:73) at org.apache.poi.ss.util.Cel

poi导出excel怎么设置工作表标签的颜色

问题描述 poi导出excel怎么设置工作表标签的颜色 我想知道的不是单元格背景,也不是字体颜色,是sheet选项的颜色,求大神解答 解决方案 excel工作表标签颜色设置方法

java poi 图片-Java POI导出Excel并添加图片问题

问题描述 Java POI导出Excel并添加图片问题 现在要利用POI导出Excel报表,并且需要将一张图片一起导出到Excel中,请问有Java中有什么方法能将图片的背景变成透明的,因为图片本身是一个公章,客户想通过程序实现盖章,所以需要将公章的图片变成透明的然后导出到Excel中,这样就不回遮挡Excel本身的内容.谢谢了! 解决方案 实现了吗?我现在也遇到这个问题了啊... 解决方案二: 实现了吗,我也遇到相同的问题,求解答