如何将文件对象插入(embedded)到Excel工作表中

我需要使用Java在MS Excel工作表中插入(embedded)文件对象(.txt文件)。 要求不要把.txt文件的内容放入Excel中。 相反,我需要把整个文件作为一个embedded对象到Excel中。 我正在使用Apache POI jar。

我已经看到了poi-3.7-beta1中的所有例子,但是无法find任何例子,在Excel工作表中插入(embedded)文件对象。 我已经看到了POIFSFileSystem类,但无法find适当的类用于这个问题。 我正在面对将文件对象embedded到Excel中的问题。 请帮助我使用Apache POI或任何其他的jar。

这里是macros录像机的VBA代码:

Sub InsertObject() ActiveSheet.OLEObjects.Add(Filename:="C:\Placeholder.txt", _ Link:=False, DisplayAsIcon:=True, IconFileName:= _ "C:\Windows\system32\packager.dll", IconIndex:=0, IconLabel:= _ "C:\Placeholder.txt").Select End Sub 

另外检查这个问题: 使用Apache POI将文件embedded到Excel中

你可以通过Visual Basic Sc​​ript来操作它,把它存储在某个地方,然后从java中调用它。

脚本示例:

 Set objExcel = CreateObject("Excel.Application") Set objWorkbook = objExcel.Workbooks.Open("myExcel.xlsm") objExcel.ActiveWorkbook.Close objExcel.Application.Quit WScript.Quit 

Java的:

 cmd = "you_path\\myVBS.vbs"; Runtime.getRuntime().exec(cmd);