首页 > 解决方案 > Apache POI 无法打开嵌入文件

问题描述

我正在尝试在 Excel 中嵌入 PDF 文件,我可以嵌入该文件,但它没有打开。Excel 正在显示我锚定到的图像,但是单击它时,什么也没有发生,因为它只是一个图像。

XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream("dr.xlsx"));
FileInputStream fs = new FileInputStream("test.pdf");
FileInputStream fs1 = new FileInputStream("download.png");
int pdf = wb.addOlePackage(IOUtils.toByteArray(fs), "text.pdf", "text.pdf", "text.pdf");
int anc = wb.addPicture(IOUtils.toByteArray(fs1), HSSFPicture.PICTURE_TYPE_PNG);
XSSFSheet sheet = wb.getSheetAt(0);
XSSFDrawing draw = sheet.createDrawingPatriarch();
ClientAnchor anchor = draw.createAnchor(0, 0, 0, 0, 1, 2, 2, 4);
anchor.setAnchorType(ClientAnchor.AnchorType.DONT_MOVE_AND_RESIZE);
XSSFObjectData objectData = draw.createObjectData(anchor, pdf, anc);
objectData.getCTShape().getNvSpPr().getCNvPr().setName( "text.pdf");
objectData.getCTShape().getNvSpPr().getCNvPr().setHidden(false);

显示 PDF 图标的电子表格

标签: javaexcelapache-poi

解决方案


推荐阅读