如何直接嵌入ole对象。不在磁盘中保存任何文件

how to embed ole object directly. without saving any file in disk

我已经通过 aspose.word 创建了一个 docx 文件,我需要将一个作品 sheet 嵌入到这个文件中,因此我创建了一个工作簿和作品 sheet 。

Document doc = new Document();
 Workbook workbook = new Workbook();
 int i = workbook.Worksheets.Add();
 Worksheet sheet = workbook.Worksheets[i];

在 sheet 中填充单元格后,我将 excel 文件保存在存储中,并使用 insertOleObject 将其嵌入到我的 docx 中,并使用文件将文件地址传递给此方法流。

workbook.Save(dir+"output.xlx");
Stream memStream = File.OpenRead(dir+"output.xlx");
Shape oleObject = builder.InsertOleObject(memStream, "Excel.Sheet.2",false,null); 

但我想直接嵌入工作sheet(或工作簿)而不使用 workbook.Save 方法和 Stream 对象。

正如 bassfader 分享的那样,首先将您的工作簿保存到内存流中。此外,您可以将内存流转换为字节数组。然后,您可以使用与所示相同的代码将工作簿(现在以内存流或字节数组的形式)作为 MS-Word 文档中的 Ole 对象插入。

注意:我在 Aspose 担任开发人员布道师