首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

用Java往Excel里导入图片时出现有关问题

2013-04-20 
用Java往Excel里导入图片时出现问题我用Java操作Excel导入图片出现以下问题:首先是用HSSF操作的部分代码如

用Java往Excel里导入图片时出现问题
我用Java操作Excel导入图片出现以下问题:
首先是用HSSF操作的
部分代码如下:
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(new File(excelPath)));
HSSFWorkbook wb = new HSSFWorkbook(fs); 
HSSFSheet sheet1 = wb.getSheet(0); 

ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream(); 
bufferImg = ImageIO.read(new File("d:/PieChart.jpg"));  
ImageIO.write(bufferImg,"jpg",byteArrayOut); 

HSSFPatriarch patriarch = sheet1.createDrawingPatriarch(); 
HSSFClientAnchor anchor = new HSSFClientAnchor(0,0,512,255,(short) 1,1,(short)10,20); 
 anchor.setAnchorType(2);
 patriarch.createPicture(anchor , wb.addPicture(byteArrayOut.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG)); 
        
fileOut = new FileOutputStream("d:/workbook.xls"); 
wb.write(fileOut); 
fileOut.close(); 
运行后没有异常,再次打开Excel时弹出对话框,“部分数据丢失”,发现里面原有的按钮等控件都没有了,宏命令还都在。。请问这是什么问题。。


随后参考网上大神的帖子用JXL来操作图片导入
部分代码如下:
XXXX省略部分XXX
WritableSheet ws = wwb.getSheet(0);
File image = new File("d:/aaaa/WS001.png");
BufferedImage bi7 = ImageIO.read(image);
WritableImage wimage = new WritableImage(0,0,10,10,image);
ws.addImage(wimage);
workbook.write();
workbook.close();
这个代码运行时,在ws.addImage(wimage)会出common.Assert.verify的异常
因为公司电脑代码不能复制,上述代码如有字母符号错误就不要指出了,谢谢。

求大神帮忙解决~~

[解决办法]
改为fileOut = new FileOutputStream("d:/workbook.xls",true);

热点排行