Freigeben über


WorkbookBase.SaveAsXMLData-Methode

Exportiert die Daten, die der angegebenen XML-Schemazuordnung zugeordnet wurden, in eine XML-Datendatei.

Namespace:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel.v4.0.Utilities (in Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)

Syntax

'Declaration
Public Sub SaveAsXMLData ( _
    filename As String, _
    map As XmlMap _
)
public void SaveAsXMLData(
    string filename,
    XmlMap map
)

Parameter

  • filename
    Typ: System.String
    Der Name der zu speichernden Datei.Sie können einen vollständigen Pfad einfügen. Wenn Sie dies nicht tun, speichert Microsoft Office Excel die Datei im aktuellen Ordner.

Hinweise

Diese Methode führt zu einem Laufzeitfehler, wenn Excel keine Daten mit der angegebenen Schemazuordnung exportieren kann. Prüfen Sie mithilfe der IsExportable-Eigenschaft, ob Excel mit der angegebenen Schemazuordnung Daten exportieren kann.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie XML-Daten aus einer Arbeitsmappe exportiert werden. Im Beispiel werden XML-Daten aus einem DataSet in eine XmlMap in der aktuellen Arbeitsmappe importiert. Danach wird die SaveAsXMLData-Methode aufgerufen, um die Daten aus der XmlMap in eine XML-Datei zu exportieren. Beim Aufruf der SaveAsXMLData-Methode meldet der BeforeXmlExport-Ereignishandler, dass der XML-Code exportiert wird, und der AfterXmlExport-Ereignishandler meldet, ob der Export erfolgreich durchgeführt werden konnte.

Dieses Beispiel bezieht sich auf eine Anpassung auf Dokumentebene.

Private Sub WorkbookXmlExportEvents()

    ' Create a new DataTable.
    Dim ds As New DataSet()
    Dim dt As DataTable = ds.Tables.Add("Customers")
    dt.Columns.Add(New DataColumn("LastName"))
    dt.Columns.Add(New DataColumn("FirstName"))

    ' Add a new row to the DataTable.
    Dim dr As DataRow = dt.NewRow()
    dr("LastName") = "Chan"
    dr("FirstName") = "Gareth"
    dt.Rows.Add(dr)

    ' Add a new XML map.
    Dim xmlMap1 As Excel.XmlMap = Me.XmlMaps.Add( _
        ds.GetXmlSchema())

    ' Import the data into Sheet1. 
    Dim range1 As Excel.Range = Globals.Sheet1.Range("A1")
    Me.XmlImportXml(ds.GetXml(), xmlMap1, True, _
        range1)

    If xmlMap1.IsExportable Then
        Me.SaveAsXMLData(Me.Name & ".xml", xmlMap1)
    End If
End Sub

Sub ThisWorkbook_BeforeXmlExport(ByVal Map As Excel.XmlMap, _
    ByVal Url As String, ByRef Cancel As Boolean) _
    Handles Me.BeforeXmlExport

    MsgBox("Microsoft Excel is exporting XML from " & _
        "the XmlMap.")
End Sub

Sub ThisWorkbook_AfterXmlExport(ByVal Map As Excel.XmlMap, _
    ByVal Url As String, ByVal Result As Excel.XlXmlExportResult) _
    Handles Me.AfterXmlExport

    If Result = Excel.XlXmlExportResult.xlXmlExportSuccess Then
        MsgBox("XML export succeeded.")
    Else
        MsgBox("XML export failed.")
    End If
End Sub
private void WorkbookXmlExportEvents()
{
    this.BeforeXmlExport +=
        new Excel.WorkbookEvents_BeforeXmlExportEventHandler(
        ThisWorkbook_BeforeXmlExport);

    this.AfterXmlExport +=
        new Excel.WorkbookEvents_AfterXmlExportEventHandler(
        ThisWorkbook_AfterXmlExport);

    // Create a new DataTable.
    DataSet ds = new DataSet();
    DataTable dt = ds.Tables.Add("Customers");
    dt.Columns.Add(new DataColumn("LastName"));
    dt.Columns.Add(new DataColumn("FirstName"));

    // Add a new row to the DataTable.
    DataRow dr = dt.NewRow();
    dr["LastName"] = "Chan";
    dr["FirstName"] = "Gareth";
    dt.Rows.Add(dr);

    // Add a new XML map.
    Excel.XmlMap xmlMap1 = this.XmlMaps.Add(
        ds.GetXmlSchema(), missing);

    // Import the data into Sheet1. 
    Excel.Range range1 = Globals.Sheet1.Range["A1", missing];
    this.XmlImportXml(ds.GetXml(), out xmlMap1, true,
       range1);

    // Export the data.
    if (xmlMap1.IsExportable)
    {
        this.SaveAsXMLData(this.Name + ".xml", xmlMap1);
    }
}

void ThisWorkbook_BeforeXmlExport(Excel.XmlMap Map, string Url,
    ref bool Cancel)
{
    MessageBox.Show("Microsoft Excel is exporting XML from " +
        "the XmlMap.");
}

void ThisWorkbook_AfterXmlExport(Excel.XmlMap Map, string Url,
    Excel.XlXmlExportResult Result)
{
    if (Result == Excel.XlXmlExportResult.xlXmlExportSuccess)
    {
        MessageBox.Show("XML export succeeded.");
    }
    else
    {
        MessageBox.Show("XML export failed.");
    }
}

.NET Framework-Sicherheit

Siehe auch

Referenz

WorkbookBase Klasse

Microsoft.Office.Tools.Excel-Namespace