WorkbookBase.XmlImportXml(String, XmlMap, Object, Object) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Importuje strumień danych XML, który został wcześniej załadowany do pamięci.
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
Parametry
- data
- String
Dane do zaimportowania.
- importMap
- XmlMap
Mapa schematu do zastosowania podczas importowania pliku.
- overwrite
- Object
Jeśli wartość nie zostanie określona dla parametru Destination
, ten parametr określa, czy zastąpić dane, które zostały zamapowane na mapę schematu określoną w parametrze ImportMap
. Ustaw wartość , aby true
zastąpić dane lub false
dołączyć nowe dane do istniejących danych. Wartość domyślna to true
. Jeśli dla parametru Destination
określono wartość, ten parametr określa, czy zastąpić istniejące dane. Ustaw wartość na , aby true
zastąpić istniejące dane lub false
anulować importowanie, jeśli dane zostaną zastąpione. Wartość domyślna to true
.
Zwraca
XlXmlImportResult Jedna z wartości.
Przykłady
Poniższy przykład kodu demonstruje, jak importować dane XML do skoroszytu. Przykład tworzy DataSet nazwy klientów i dodaje XmlMap element oparty na schemacie XML do DataSetXmlMaps kolekcji bieżącego skoroszytu. W przykładzie metoda jest następnie wywoływana w XmlImportXml celu zaimportowania danych do arkusza Sheet1
. Po wywołaniu XmlImportXml metody program obsługi zdarzeń monituje użytkownika o kontynuowanie lub anulowanie importowania kodu XML, a AfterXmlImport program obsługi zdarzeń zgłasza, BeforeXmlImport czy kod XML został pomyślnie zaimportowany.
Ten przykład dotyczy dostosowywania na poziomie dokumentu.
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
Uwagi
Nie należy określać wartości parametru Destination
, jeśli chcesz zaimportować dane do istniejącego mapowania.
Poniższe warunki sprawiają, że metoda generuje czasu wykonywania:
Określone dane XML zawierają błędy składni.
Proces importowania został anulowany, ponieważ określone dane nie pasują do arkusza.
XmlImport Użyj metody , aby zaimportować plik danych XML do bieżącego skoroszytu.
Parametry opcjonalne
Aby uzyskać informacje na temat parametrów opcjonalnych, zobacz Parametry opcjonalne w rozwiązaniach pakietu Office.