我需要使用Java在MS Excel表格中插入(嵌入)文件对象(.txt文件).要求不是将.txt文件的内容放入Excel.相反,我需要将整个文件作为嵌入对象放入Excel中.我正在使用Apache POI jar.
我已经看到poi-3.7-beta1中存在的所有示例,但是无法找到任何示例,在Excel工作表中插入(嵌入)文件对象.我见过POIFSFileSystem类,但无法找到适合此问题的类.我在将文件对象嵌入Excel时面临问题.请使用Apache POI或任何其他jar帮助我这样做.
我想使用apache poi将excel表格嵌入演示文稿(PPT).我们应该怎么做?如果有人知道,请帮助我.
我发现kiwiwings 回答了如何使用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;
}
Run Code Online (Sandbox Code Playgroud)
我还能够创建我想用作Excel文件中的锚点的图像.然而,我无法做的是将该图像"链接"到嵌入的内容,就像kiwiwings能够在他的回复中做的那样.
我的最终目标是在其中包含一个带有嵌入对象的XLSX Excel文件,这样用户可以双击我在单元格中打开的锚点,然后就可以编辑文件了,就像你做的那样使用Excel客户端嵌入文件.
有没有人有一个如何做到这一点的工作示例?