XSSFWorkbook poi:将图像 IOUtils 添加到 ByteArray unfined 错误
XSSFWorkbook poi: adding image IOUtils toByteArray unfined error
使用 POI:XSSF 将图像插入到 excel
我正在使用 maven poi 依赖项:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.8</version>
</dependency>
AND 代码为:
InputStream my_banner_image = new FileInputStream("input.png");
byte[] bytes = IOUtils.toByteArray(my_banner_image);
int my_picture_id = wb.addPicture(bytes, Workbook.PICTURE_TYPE_PNG);
我收到这些错误:
1) IOUtils 类型未定义方法 toByteArray(InputStream)
2) PICTURE_TYPE_PNG无法解析或不是字段
如有任何帮助,我们将不胜感激。谢谢
将评论提升为答案:
您要使用的方法在 Apache POI 3.11 中有很多,您可以在 POI Javadocs 中查看有关它的完整详细信息。
如 POI Components page 中所述,定义对 poi-ooxml
的 Maven 依赖项将拉入主要的 poi
组件 jar,这是 IOUtils class 所在的位置,所以那一点很好
在这种情况下(根据评论)您拥有的是您 class 路径上的第二个 POI 旧副本。您需要删除这个旧的 POI jar(或 POI jar),与大多数 Java 项目一样,Apache POI 只有在所有 POI jar 都来自同一版本并且不存在旧版本时才能正常工作。
因为这是一个相当普遍的问题——例如,许多框架都提供了 POI 的旧副本——所以有一个 POI FAQ entry on this very thing。如果您无法手动找到旧 jar,您可以使用此处提供的代码计算出旧 jar 的移除位置。
另外,还有一件事要记住——许多项目提供了一个名为 IOUtils
的 class——确保你导入到代码中的是 org.apache.poi.util.IOUtils
而不是别的东西!
使用 POI:XSSF 将图像插入到 excel 我正在使用 maven poi 依赖项:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.8</version>
</dependency>
AND 代码为:
InputStream my_banner_image = new FileInputStream("input.png");
byte[] bytes = IOUtils.toByteArray(my_banner_image);
int my_picture_id = wb.addPicture(bytes, Workbook.PICTURE_TYPE_PNG);
我收到这些错误:
1) IOUtils 类型未定义方法 toByteArray(InputStream) 2) PICTURE_TYPE_PNG无法解析或不是字段
如有任何帮助,我们将不胜感激。谢谢
将评论提升为答案:
您要使用的方法在 Apache POI 3.11 中有很多,您可以在 POI Javadocs 中查看有关它的完整详细信息。
如 POI Components page 中所述,定义对 poi-ooxml
的 Maven 依赖项将拉入主要的 poi
组件 jar,这是 IOUtils class 所在的位置,所以那一点很好
在这种情况下(根据评论)您拥有的是您 class 路径上的第二个 POI 旧副本。您需要删除这个旧的 POI jar(或 POI jar),与大多数 Java 项目一样,Apache POI 只有在所有 POI jar 都来自同一版本并且不存在旧版本时才能正常工作。
因为这是一个相当普遍的问题——例如,许多框架都提供了 POI 的旧副本——所以有一个 POI FAQ entry on this very thing。如果您无法手动找到旧 jar,您可以使用此处提供的代码计算出旧 jar 的移除位置。
另外,还有一件事要记住——许多项目提供了一个名为 IOUtils
的 class——确保你导入到代码中的是 org.apache.poi.util.IOUtils
而不是别的东西!