Back to Devexpress

OleFormat.SaveAs(Stream) Method

officefileapi-devexpress-dot-xtrarichedit-dot-api-dot-native-dot-oleformat-dot-saveas-x28-system-dot-io-dot-stream-x29.md

latest3.0 KB
Original Source

OleFormat.SaveAs(Stream) Method

Saves data of the embedded OLE object to a stream.

Namespace : DevExpress.XtraRichEdit.API.Native

Assembly : DevExpress.RichEdit.v25.2.Core.dll

NuGet Package : DevExpress.RichEdit.Core

Declaration

csharp
void SaveAs(
    Stream stream
)
vb
Sub SaveAs(
    stream As Stream
)

Parameters

NameTypeDescription
streamStream

The output stream.

|

Exceptions

TypeDescription
InvalidOperationException

Occurs when you call the SaveAs method for a linked OLE object.

|

Remarks

The following example shows how to save an embedded OLE object’s data:

csharp
using System.Linq;
using DevExpress.XtraRichEdit.API.Native;
// ...

Document document = wordProcessor.Document;
// Obtain an OLE object that stores spreadsheet data.
DevExpress.XtraRichEdit.API.Native.Shape embeddedObject = document.Shapes.FirstOrDefault(
    x => x.Type == DevExpress.XtraRichEdit.API.Native.ShapeType.OleObject &&
    x.OleFormat.InsertType == OleInsertType.Embedded &&
    x.OleFormat.ProgId == OleObjectType.ExcelWorksheet);

if (embeddedObject != null)
{
    // Save the OLE object's data as an XLSX document.
    using (FileStream stream = new FileStream(@"D:\ExcelDocument.xlsx",
        FileMode.Create, FileAccess.ReadWrite))
    {
        embeddedObject.OleFormat.SaveAs(stream);
    }
}
vb
Imports System.Linq
Imports DevExpress.XtraRichEdit.API.Native
' ...

Dim document As Document = wordProcessor.Document
' Obtain an OLE object that stores spreadsheet data.
Dim embeddedObject As DevExpress.XtraRichEdit.API.Native.Shape = 
    document.Shapes.FirstOrDefault(Function(x) x.Type = 
    DevExpress.XtraRichEdit.API.Native.ShapeType.OleObject _
    AndAlso x.OleFormat.InsertType = OleInsertType.Embedded _
    AndAlso x.OleFormat.ProgId = OleObjectType.ExcelWorksheet)

If embeddedObject IsNot Nothing Then
    ' Save the OLE object's data as an XLSX document.
    Using stream As New FileStream("D:\ExcelDocument.xlsx", _ 
    FileMode.Create, FileAccess.ReadWrite)
        embeddedObject.OleFormat.SaveAs(stream)
    End Using
End If

See Also

OleFormat Interface

OleFormat Members

DevExpress.XtraRichEdit.API.Native Namespace