LBLBLBLB
LBLBLBLB

Reputation: 21

Embed file in excel worksheet/cell

I hope someone can help me. Is there a way to embed a specific file (.txt) into an excel cell? I'm currently using epplus, and I would like to embed programmatically a file into a specific excel cell. I did manage to add a hyperlink, but my goal is to have it embedded.

Worksheet.Cells[rowNumber, colNumber].Value = ....

Is there any way to do it? I couldn't find anything online.

Upvotes: 2

Views: 1371

Answers (1)

Hambone
Hambone

Reputation: 16377

As mentioned in the comments, you can certainly put text within a cell, but bear in mind Excel does have a limit to the number of characters it will allow in a single cell. It's pretty large, but conceivably the contents of a text file could exceed that limit -- even if future versions of Excel keep increasing what the limit is (as they have in the past).

You can also embed an OLE object in your worksheet, and a text file qualifies for that. I don't know that you can assign it to a cell, per se. You can change the location, shape and behavior to fit in a cell and behave as though it's part of a cell, but I don't know that it ever belongs to a range the way formulas do. I could be wrong.

The basic construct of how to embed an OLE object into a worksheet is as follows:

Excel.OLEObject ole = ws.OLEObjects().Add(Filename: @"C:\Users\hambone\Documents\foo.txt");

This is the equivalent of the VBA:

Set ole = sh.OLEObjects.Add(Filename:="C:\Users\hambone\Documents\foo.txt")

The method returns an OLEObject object, which you can then shape to behave the way you want:

ole.Height = 5;

Upvotes: 1

Related Questions