WorkbookBase.XmlImportXml(String, XmlMap, Object, Object) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
메모리에 이미 로드된 XML 데이터 스트림을 가져옵니다.
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
매개 변수
- data
- String
가져올 데이터입니다.
- importMap
- XmlMap
파일을 가져올 때 적용할 스키마 맵입니다.
- overwrite
- Object
매개 변수에 대해 Destination
값을 지정하지 않으면 이 매개 변수는 매개 변수에 지정된 ImportMap
스키마 맵에 매핑된 데이터를 덮어쓸지 여부를 지정합니다. 데이터를 덮어쓰려면 true
로 설정하고, 기존 데이터에 새 데이터를 추가하려면 false
로 설정합니다. 기본값은 true
입니다. 매개 변수에 값 Destination
이 지정된 경우 이 매개 변수는 기존 데이터를 덮어쓸지 여부를 지정합니다. 기존 데이터를 덮어쓰려면 true
로 설정하고, 데이터를 덮어쓰게 될 경우 가져오기를 취소하려면 false
로 설정합니다. 기본값은 true
입니다.
반환
XlXmlImportResult 값 중 하나입니다.
예제
다음 코드 예제에서는 XML 데이터를 통합 문서로 가져오는 방법을 보여 줍니다. 이 예제에서는 고객 이름의 를 DataSet 만들고 에 대한 DataSet XML 스키마를 기반으로 을 현재 통합 문서의 컬렉션에 XmlMaps 추가 XmlMap 합니다. 그런 다음, 메서드를 XmlImportXml 호출하여 데이터를 워크시트로 Sheet1
가져옵니다. 메서드가 XmlImportXml 호출 BeforeXmlImport 되면 이벤트 처리기는 사용자에게 XML 가져오기를 진행하거나 취소하라는 메시지를 표시하고 AfterXmlImport 이벤트 처리기는 XML을 성공적으로 가져왔는지 여부를 보고합니다.
이 예제는 문서 수준 사용자 지정을 위한 것입니다.
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
설명
기존 매핑으로 데이터를 가져오려는 경우 매개 변수의 값을 Destination
지정하지 마세요.
다음 조건에서는 이 메서드가 런타임 오류를 생성합니다.
지정된 XML 데이터에 구문 오류가 포함됩니다.
지정한 데이터가 워크시트에 맞지 않아 가져오기 프로세스가 취소되었습니다.
메서드를 XmlImport 사용하여 XML 데이터 파일을 현재 통합 문서로 가져옵니다.
선택적 매개 변수
선택적 매개 변수에 대한 자세한 내용은 Office 솔루션의 선택적 매개 변수를 참조하세요.