java导出PDF报错:Unable to recognize OLE stream
根据EXCEL模版导出PDF文件。。主要代码如下:(因代码太多,我就用图片显示了)若不加第一个红色框框里面的三行代码,导出是成功的。。但是现在要求要加一个图片,导出就报错...
根据EXCEL模版导出PDF文件。。
主要代码如下: (因代码太多,我就用图片显示了)
若不加第一个红色框框里面的三行代码,导出是成功的。。但是现在要求要加一个图片,导出就报错:Unable to recognize OLE stream。。
看网上的解决办法都是说是EXCEL的版本问题。。可是我用了03版本的也没用。。
直接在EXCEL模版里面放图片。。导出来的PDF文件里面没有图片
这个问题要怎么解决啊。。。望高手们看看下,有点赶。。。 展开
主要代码如下: (因代码太多,我就用图片显示了)
若不加第一个红色框框里面的三行代码,导出是成功的。。但是现在要求要加一个图片,导出就报错:Unable to recognize OLE stream。。
看网上的解决办法都是说是EXCEL的版本问题。。可是我用了03版本的也没用。。
直接在EXCEL模版里面放图片。。导出来的PDF文件里面没有图片
这个问题要怎么解决啊。。。望高手们看看下,有点赶。。。 展开
展开全部
在wb.write(arrayOutput);之前需要reset输出流。
wb.getSheetAt(0).createDrawingPatriarch().createPicture(anchor, wb.addPicture(arrayOutput.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
arrayOutput.reset(); // here
wb.write(arrayOutput);
arrayOutput.close();
另外,关闭ByteArrayOutputStream是没有效果的。也就是不需要arrayOutput.close();
/**
* Closing a <tt>ByteArrayOutputStream</tt> has no effect. The methods in
* this class can be called after the stream has been closed without
* generating an <tt>IOException</tt>.
*/
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询