Jyoti
Jyoti

Reputation: 2115

How to insert (embed) a file object into Excel sheet

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

Answers (2)

JCKUSANAGI
JCKUSANAGI

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

theodore
theodore

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

Related Questions