WorkbookBase.XmlImportXml – metoda
Import datového proudu XML, který byl dříve načten do paměti.
Obor názvů: Microsoft.Office.Tools.Excel
Sestavení: Microsoft.Office.Tools.Excel.v4.0.Utilities (v Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Syntaxe
'Deklarace
Public Function XmlImportXml ( _
data As String, _
<OutAttribute> ByRef importMap As XmlMap, _
overwrite As Object, _
destination As Object _
) As XlXmlImportResult
public XlXmlImportResult XmlImportXml(
string data,
out XmlMap importMap,
Object overwrite,
Object destination
)
Parametry
- data
Typ: System.String
Data, která chcete importovat.
- importMap
Typ: Microsoft.Office.Interop.Excel.XmlMap%
Mapa schématu, která se použije při importu souboru.
- overwrite
Typ: System.Object
Pokud pro parametr Destination není zadána hodnota, tento parametr určí, zda se mají přepsat data mapovaná do mapy schématu zadané v parametru ImportMap.Nastavte na hodnotu true pro přepsání dat, nebo na hodnotu false pro připojení nových dat k existujícím datům.Výchozí hodnota je true.Pokud je pro parametr Destination zadána hodnota, tento parametr určí, zda se mají přepsat existující data.Nastavte na hodnotu true pro přepsání existujících dat, nebo na hodnotu false, chcete-li import zrušit, pokud by data byla přepsána.Výchozí hodnota je true.
- destination
Typ: System.Object
Data budou importována do nového seznamu XML v Range zadaný.
Vrácená hodnota
Typ: Microsoft.Office.Interop.Excel.XlXmlImportResult
Jedna z hodnot XlXmlImportResult
Poznámky
Pokud chcete importovat data do existujícího mapování, nezadávejte hodnotu parametru Destination.
Následující podmínky způsobí, že tato metoda vygeneruje chyby za běhu:
Zadaná data XML obsahují chyby syntaxe.
Proces importu byl zrušen, protože zadaná data se nevejdou na list.
Použití XmlImport metoda importu dat XML do aktuálního sešitu.
Volitelné parametry
Informace o volitelných parametrech naleznete v tématu Volitelné parametry v řešeních pro systém Office.
Příklady
Následující příklad kódu ukazuje, jak lze importovat data XML do sešitu.Příklad vytvoří odkaz DataSet na jména zákazníka a přidá XmlMap na základě schématu XML pro DataSet ke kolekci XmlMaps aktuálního sešitu.Příklad poté volá metodu XmlImportXml pro import dat do listu Sheet1.Když XmlImportXml je volána metoda, BeforeXmlImport obslužná rutina události zobrazí výzvu k pokračovat nebo zrušit import XML a AfterXmlImport obslužnou rutinu události ohlásí, zda byl úspěšně importován soubor XML.
Tento příklad je pro přizpůsobení na úrovni dokumentu.
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
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.");
}
}
Zabezpečení rozhraní .NET Framework
- Plná důvěra přímému volajícímu. Částečně zabezpečený kód nemůže tento člen použít. Další informace naleznete v tématu Používání knihoven z částečně důvěryhodného kódu.