Reputation: 2115
I need to insert (embed) a file object (.txt file) in MS Excel sheet using Java. The requirement is not to put the contents of .txt file into Excel. Instead I need to put the whole file as an embedded object into Excel. I am using Apache POI jar for this.
I have seen all the examples present in poi-3.7-beta1 but was not able to find any example, to insert (embed) a file object in Excel sheet. I have seen POIFSFileSystem classes but was not able to find the appropriate class to use for this problem. I am facing issue in embedding file object into Excel. Please help me doing this using Apache POI or any other jar.
Upvotes: 6
Views: 5683
Reputation: 11
You could manipulate it through Visual Basic Script, just store it somewhere and call it from java.
Script Example:
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);
Upvotes: 1
Reputation: 1
Here is the VBA code from Macro Recorder:
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
Also check out this question: Embed files into Excel using Apache POI
Upvotes: 0