Java 将图像插入excel时出现错误消息
我正在尝试使用poi将图像显示到excel工作表中。以下是源代码:Java 将图像插入excel时出现错误消息,java,excel,apache-poi,Java,Excel,Apache Poi,我正在尝试使用poi将图像显示到excel工作表中。以下是源代码: //...reading inputStream byte[] bytes = IOUtils.toByteArray(inputStream); //Debugging shows that pictureIdx value is 0 int pictureIdx = workbook.addPicture(bytes, Workbook.PICTURE_TYPE_PNG); Drawing drawing = sheet.c
//...reading inputStream
byte[] bytes = IOUtils.toByteArray(inputStream);
//Debugging shows that pictureIdx value is 0
int pictureIdx = workbook.addPicture(bytes, Workbook.PICTURE_TYPE_PNG);
Drawing drawing = sheet.createDrawingPatriarch();
CreationHelper helper = workbook.getCreationHelper();
ClientAnchor anchor = helper.createClientAnchor();
anchor.setCol1(1);
anchor.setRow1(1);
Picture pict = drawing.createPicture(anchor, pictureIdx);
//...Saving workbook
打开生成的excel文件时,不会显示任何图像,而是收到以下错误消息:
修复记录:来自/xl/drawings/drawing1.xml-Part(Drawingsform)的图纸
任何帮助都将不胜感激。非常感谢
p、 s:我正在使用Java 8和MS Excel 2013我找到了答案。该问题与锚点对象有关。大多数代码片段示例都没有提供正确的解决方案。实际上,我们还应该定义Col2和Row2锚的属性。这就解决了问题。单细胞锚也是可能的。但是,图片
需要被删除,因为单单元格锚无法确定图片的大小。