Aracılığıyla paylaş


WorkbookBase.XmlImportXml(String, XmlMap, Object, Object) Yöntem

Tanım

Daha önce belleğe yüklenmiş bir XML veri akışını içeri aktarır.

public Microsoft.Office.Interop.Excel.XlXmlImportResult XmlImportXml (string data, out Microsoft.Office.Interop.Excel.XmlMap importMap, object overwrite, object destination);
member this.XmlImportXml : string * XmlMap * obj * obj -> Microsoft.Office.Interop.Excel.XlXmlImportResult
Public Function XmlImportXml (data As String, ByRef importMap As XmlMap, Optional overwrite As Object, Optional destination As Object) As XlXmlImportResult

Parametreler

data
String

İçeri aktaracak veriler.

importMap
XmlMap

Dosya içeri aktarırken uygulanacak şema eşlemesi.

overwrite
Object

Parametre için Destination bir değer belirtilmezse, bu parametre parametresinde ImportMap belirtilen şema eşlemesine eşlenmiş verilerin üzerine yazıp yazmayacağını belirtir. true Verilerin üzerine yazmak veya false yeni verileri mevcut verilere eklemek için olarak ayarlayın. true varsayılan değerdir. parametre için Destination bir değer belirtilirse, bu parametre varolan verilerin üzerine yazıp yazmayacağını belirtir. true Varolan verilerin üzerine yazmak veya false verilerin üzerine yazılacaksa içeri aktarma işlemini iptal etmek için olarak ayarlayın. true varsayılan değerdir.

destination
Object

Veriler belirtilen içindeki Range yeni bir XML listesine aktarılacak.

Döndürülenler

Değerlerden XlXmlImportResult biri.

Örnekler

Aşağıdaki kod örneğinde, XML verilerinin bir çalışma kitabına nasıl alınacağı gösterilmiştir. Örnek, müşteri adlarından bir DataSet oluşturur ve geçerli çalışma kitabının koleksiyonuna XmlMaps için DataSet XML şemasını temel alan bir XmlMap ekler. Örnek daha sonra çalışma sayfasına Sheet1veri aktarmak için yöntemini çağırırXmlImportXml. XmlImportXml Yöntem çağrıldığında, BeforeXmlImport olay işleyicisi kullanıcıdan XML'yi içeri aktarma işlemine devam etmelerini veya iptal etmelerini ister ve AfterXmlImport olay işleyicisi XML'nin başarıyla içeri aktarılıp aktarılmadığını bildirir.

Bu örnek, belge düzeyinde özelleştirme içindir

private void WorkbookXmlImportEvents()
{
    this.BeforeXmlImport +=
        new Excel.WorkbookEvents_BeforeXmlImportEventHandler(
        ThisWorkbook_BeforeXmlImport);

    this.AfterXmlImport += new
        Excel.WorkbookEvents_AfterXmlImportEventHandler(
        ThisWorkbook_AfterXmlImport);

    // 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 to the collection.
    Excel.XmlMap xmlMap1 = this.XmlMaps.Add(ds.GetXmlSchema(),
        "NewDataSet");

    // Import the data stream if the XmlMap was successfully created.
    if (xmlMap1 != null)
    {
        // This will raise the BeforeXmlImport and AfterXmlImport events.
        Excel.Range range1 = Globals.Sheet1.Range["A1"];
        this.XmlImportXml(ds.GetXml(), out xmlMap1, true,
            range1);
    }
    else
    {
        MessageBox.Show("The XmlMap could not be created");
    }
}

void ThisWorkbook_BeforeXmlImport(Excel.XmlMap Map,
    string Url, bool IsRefresh, ref bool Cancel)
{
    if (DialogResult.No == MessageBox.Show("Microsoft Excel is about" +
        " to import XML into the workbook. Continue with importing?",
        "Custom XML Import Dialog", MessageBoxButtons.YesNo))
    {
        Cancel = true;
    }
}

void ThisWorkbook_AfterXmlImport(Excel.XmlMap Map, bool IsRefresh,
    Excel.XlXmlImportResult Result)
{
    if (Result == Excel.XlXmlImportResult.xlXmlImportSuccess)
    {
        MessageBox.Show("XML import succeeded.");
    }
    else
    {
        MessageBox.Show("XML import failed.");
    }
}
Private Sub WorkbookXmlImportEvents()

    ' 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 to the collection.
    Dim xmlMap1 As Excel.XmlMap = Me.XmlMaps.Add(ds.GetXmlSchema(), _
        "NewDataSet")

    ' Import the data stream if the XmlMap was successfully created.
    If Not (xmlMap1 Is Nothing) Then

        ' This will raise the BeforeXmlImport and AfterXmlImport events.
        Dim range1 As Excel.Range = Globals.Sheet1.Range("A1")
        Me.XmlImportXml(ds.GetXml(), xmlMap1, True, _
            range1)
    Else
        MsgBox("The XmlMap could not be created")
    End If
End Sub

Sub ThisWorkbook_BeforeXmlImport(ByVal Map As Excel.XmlMap, _
    ByVal Url As String, ByVal IsRefresh As Boolean, _
    ByRef Cancel As Boolean) Handles Me.BeforeXmlImport

    If DialogResult.No = MessageBox.Show("Microsoft Excel is about" & _
        " to import XML into the workbook. Continue with importing?", _
        "Custom XML Import Dialog", MessageBoxButtons.YesNo) Then
        Cancel = True
    End If
End Sub

Sub ThisWorkbook_AfterXmlImport(ByVal Map As Excel.XmlMap, _
    ByVal IsRefresh As Boolean, ByVal Result As Excel.XlXmlImportResult) _
    Handles Me.AfterXmlImport

    If Result = Excel.XlXmlImportResult.xlXmlImportSuccess Then
        MsgBox("XML import succeeded.")
    Else
        MsgBox("XML import failed.")
    End If
End Sub

Açıklamalar

Verileri var olan bir eşlemeye Destination aktarmak istiyorsanız parametre için bir değer belirtmeyin.

Aşağıdaki koşullar bu yöntemin çalışma zamanı hataları oluşturmasına neden olur:

  • Belirtilen XML verileri sözdizimi hataları içeriyor.

  • Belirtilen veriler çalışma sayfasına sığamadığı için içeri aktarma işlemi iptal edildi.

XmlImport Bir XML veri dosyasını geçerli çalışma kitabına aktarmak için yöntemini kullanın.

İsteğe Bağlı Parametreler

İsteğe bağlı parametreler hakkında bilgi için bkz. Office Çözümleri'nde İsteğe Bağlı Parametreler.

Şunlara uygulanır