WorkbookBase.XmlImportXml, méthode
Importe un flux de données XML précédemment chargé dans la mémoire.
Espace de noms : Microsoft.Office.Tools.Excel
Assembly : Microsoft.Office.Tools.Excel.v4.0.Utilities (dans Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Syntaxe
'Déclaration
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
)
Paramètres
- data
Type : System.String
Données à importer.
- importMap
Type : Microsoft.Office.Interop.Excel.XmlMap%
Mappage de schéma à appliquer lors de l'importation du fichier.
- overwrite
Type : System.Object
Si aucune valeur n'est spécifiée pour le paramètre Destination, ce paramètre spécifie s'il convient de remplacer ou non les données qui ont été mappées vers le mappage de schéma spécifié dans le paramètre ImportMap.Affectez la valeur true pour remplacer les données ou false pour ajouter les nouvelles données aux données existantes.La valeur par défaut est true.Si une valeur est spécifiée pour le paramètre Destination, ce paramètre spécifie s'il convient ou non de remplacer les données existantes.Affectez la valeur true pour remplacer les données existantes ou false pour annuler l'importation si les données étaient remplacées.La valeur par défaut est true.
- destination
Type : System.Object
Les données seront importées dans une nouvelle liste XML du Range spécifié.
Valeur de retour
Type : Microsoft.Office.Interop.Excel.XlXmlImportResult
Une des valeurs de XlXmlImportResult.
Notes
Ne spécifiez pas de valeur pour le paramètre Destination si vous souhaitez importer les données dans un mappage existant.
En présence des conditions suivantes, cette méthode générera des erreurs d'exécution :
Les données XML spécifiées contiennent des erreurs de syntaxe.
Le processus d'importation a été annulé, car les données spécifiées ne peuvent pas s'adapter à la feuille de calcul.
Utilisez la méthode XmlImport pour importer un fichier de données XML dans le classeur actif.
Paramètres optionnels
Pour plus d'informations sur les paramètres optionnels, consultez Paramètres optionnels dans les solutions Office.
Exemples
L'exemple de code suivant illustre l'importation de données XML dans un classeur. L'exemple crée un DataSet de noms de clients et ajoute un XmlMap basé sur le schéma XML pour DataSet à la collection XmlMaps du classeur actif. L'exemple appelle ensuite la méthode XmlImportXml pour importer les données dans la feuille de calcul Sheet1. Lorsque la méthode XmlImportXml est appelée, le gestionnaire d'événements BeforeXmlImport invite l'utilisateur à poursuivre ou à annuler l'importation du XML, et le gestionnaire d'événements AfterXmlImport signale si le XML a été importé avec succès.
Cet exemple illustre une personnalisation au niveau du document.
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.");
}
}
Sécurité .NET Framework
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.