如何直接嵌入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 担任开发人员布道师
我已经通过 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 担任开发人员布道师