C# 在excel工作表/单元格中嵌入文件

C# 在excel工作表/单元格中嵌入文件,c#,excel,interop,office-interop,epplus,C#,Excel,Interop,Office Interop,Epplus,我希望有人能帮助我。是否有办法将特定文件(.txt)嵌入excel单元格?我目前正在使用epplus,我想通过编程将一个文件嵌入到一个特定的excel单元格中。我确实设法添加了一个超链接,但我的目标是嵌入它 工作表.单元格[rowNumber,colNumber]。值= 有什么办法吗?我在网上找不到任何内容。如评论中所述,您当然可以将文本放入单元格中,但请记住Excel对单个单元格中允许的字符数有限制。它相当大,但可以想象,文本文件的内容可能会超过这个限制——即使未来版本的Excel不断增加这个

我希望有人能帮助我。是否有办法将特定文件(.txt)嵌入excel单元格?我目前正在使用epplus,我想通过编程将一个文件嵌入到一个特定的excel单元格中。我确实设法添加了一个超链接,但我的目标是嵌入它

工作表.单元格[rowNumber,colNumber]。值=


有什么办法吗?我在网上找不到任何内容。

如评论中所述,您当然可以将文本放入单元格中,但请记住Excel对单个单元格中允许的字符数有限制。它相当大,但可以想象,文本文件的内容可能会超过这个限制——即使未来版本的Excel不断增加这个限制(就像过去一样)

您还可以在工作表中嵌入OLE对象,文本文件符合此条件。我不知道你能把它分配给一个单元本身。您可以更改位置、形状和行为以适应单元格,并将其视为单元格的一部分,但我不知道它是否像公式那样属于某个范围。我可能错了

如何将OLE对象嵌入工作表的基本结构如下:

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

Set ole = sh.OLEObjects.Add(Filename:="C:\Users\hambone\Documents\foo.txt")
该方法返回一个
OLEObject
对象,然后您可以对该对象进行造型,使其按所需的方式运行:

ole.Height = 5;

为了清楚起见,您想以编程方式将
myFile.txt
的全部内容放在Excel的单个单元格中吗?或者您想将
.txt
文件添加为对象,然后双击它打开文件?应该没有问题。文本文件的内容是一个字符串,因此您可以读取它并将其放入单元格中。我想将.txt文件添加为对象,然后通过双击打开它。我不想把它作为指向那个文件的链接,我想嵌入它。我尝试过使用OLEObjects,但我不知道如何实现它,因为这是互操作,我只在我的整个程序中使用了epplus。啊,你的标记有互操作,所以我假设这是表上的一个选项。EPPlus非常棒,但它确实存在功能限制,您可能已经找到了一个。Interop可以访问VBA运行时库,因此它没有什么不能做的。它可能是表上的一个选项。在Excelpackage上保存后,我尝试使用它,但出现错误“'object'不包含'Add'的定义,并且找不到接受第一个'object'类型参数的扩展方法'Add'(是否缺少using指令或程序集引用?)