如何直接嵌入ole对象。不保存磁盘

时间:2017-11-20 14:11:36

标签: c# .net ole aspose aspose-cells

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

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

在填充表单中的单元格后,我将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); 

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

1 个答案:

答案 0 :(得分:2)

当bassfader共享时,首先将工作簿保存到Memory Stream。此外,您可以将内存流转换为字节数组。然后,您可以使用与您所示相同的代码将Workbook(现在采用内存流或字节数组形式)作为Ole-Object插入MS-Word文档中。

注意: 我在Aspose担任开发人员传播者