我已经找到了kiwiwings answer关于如何使用Apache POI将文件嵌入Excel的问题,但不幸的是他的回答仅涵盖了HSSF电子表格(XLS格式),我们目前正在使用新的XSSF格式(XLSX)和解决方案建议用于HSSF电子表格不起作用.我尝试移植它,但棺材中的最后一个钉子来自于XSSF世界中没有HSSFObjectData等效的事实.
这是我到目前为止所做的 – 我找到了一种将文件附加到Excel文件的方法.这段代码做到了:
private PackagePart packageNotebook(
final OPCPackage pkg,
final String notebookTable,
final String taskId,
final String notebookName,
final byte[] contents
) throws InvalidFormatException, IOException
{
final PackagePartName partName =
PackagingURIHelper.createPartName( "/notebook/" + notebookTable + "/" + taskId + "/" + notebookName );
pkg.addRelationship( partName, TargetMode.INTERNAL, PackageRelationshipTypes.CUSTOM_XML );
final PackagePart part = pkg.createPart( partName, "text/xml" );
IOUtils.write( contents, part.getOutputStream() );
return part;
}
我还能够创建我想用作Excel文件中的锚点的图像.然而,我无法做的是将该图像“链接”到嵌入的内容,就像kiwiwings能够在他的回复中做的那样.
我的最终目标是在其中包含一个带有嵌入对象的XLSX Excel文件,这样用户可以双击我在单元格中打开的锚点,然后就可以编辑文件了,就像你做的那样使用Excel客户端嵌入文件.
有没有人有一个如何做到这一点的工作示例?
最佳答案:
标签:java,excel,apache-poi
来源: https://codeday.me/bug/20190516/1114734.html