Workbook.SaveAsXMLData Метод (2007 System)
Обновлен: Ноябрь 2007
Экспортирует данные, соотнесенные указанной XML-схеме, в XML-файл данных.
Пространство имен: Microsoft.Office.Tools.Excel
Сборка: Microsoft.Office.Tools.Excel.v9.0 (в Microsoft.Office.Tools.Excel.v9.0.dll)
Синтаксис
'Декларация
Public Sub SaveAsXMLData ( _
Filename As String, _
Map As XmlMap _
)
'Применение
Dim instance As Workbook
Dim Filename As String
Dim Map As XmlMap
instance.SaveAsXMLData(Filename, Map)
public void SaveAsXMLData(
string Filename,
XmlMap Map
)
Параметры
- Filename
Тип: System.String
Имя сохраняемого файла. Можно включить полный путь; если этого не сделать, Microsoft Office Excel сохранит файл в текущей папке.
- Map
Тип: Microsoft.Office.Interop.Excel.XmlMap
Объект XmlMap. Проекция схемы, применяемая к данным.
Заметки
При вызове этого метода происходит ошибка во время выполнения, если Excel не удается экспортировать данные с указанной проекцией схемы. Для проверки возможности использования указанной проекции схемы для экспорта данных используется свойство IsExportable.
Примеры
В следующем примере кода демонстрируется порядок экспорта XML-данных из книги. В этом примере выполняется импортирование XML-данных из объекта DataSet в объект XmlMap в текущей книге. После этого в примере вызывается метод SaveAsXMLData для экспорта данных из объекта XmlMap в XML-файл. При вызове метода SaveAsXMLData обработчик событий BeforeXmlExport сообщает, что экспорт XML-данных выполнен, затем обработчик событий AfterXmlExport сообщает об успешном или неуспешном экспорте XML-данных.
В этом примере демонстрируется настройка уровня документа.
Private Sub WorkbookXmlExportEvents()
' 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.
Dim xmlMap1 As Excel.XmlMap = Me.XmlMaps.Add( _
ds.GetXmlSchema())
' Import the data into Sheet1.
Dim range1 As Excel.Range = Globals.Sheet1.Range("A1")
Me.XmlImportXml(ds.GetXml(), xmlMap1, True, _
range1)
If xmlMap1.IsExportable Then
Me.SaveAsXMLData(Me.Name & ".xml", xmlMap1)
End If
End Sub
Sub ThisWorkbook_BeforeXmlExport(ByVal Map As Excel.XmlMap, _
ByVal Url As String, ByRef Cancel As Boolean) _
Handles Me.BeforeXmlExport
MsgBox("Microsoft Excel is exporting XML from " & _
"the XmlMap.")
End Sub
Sub ThisWorkbook_AfterXmlExport(ByVal Map As Excel.XmlMap, _
ByVal Url As String, ByVal Result As Excel.XlXmlExportResult) _
Handles Me.AfterXmlExport
If Result = Excel.XlXmlExportResult.xlXmlExportSuccess Then
MsgBox("XML export succeeded.")
Else
MsgBox("XML export failed.")
End If
End Sub
private void WorkbookXmlExportEvents()
{
this.BeforeXmlExport +=
new Excel.WorkbookEvents_BeforeXmlExportEventHandler(
ThisWorkbook_BeforeXmlExport);
this.AfterXmlExport +=
new Excel.WorkbookEvents_AfterXmlExportEventHandler(
ThisWorkbook_AfterXmlExport);
// 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.
Excel.XmlMap xmlMap1 = this.XmlMaps.Add(
ds.GetXmlSchema(), missing);
// Import the data into Sheet1.
Excel.Range range1 = Globals.Sheet1.Range["A1", missing];
this.XmlImportXml(ds.GetXml(), out xmlMap1, true,
range1);
// Export the data.
if (xmlMap1.IsExportable)
{
this.SaveAsXMLData(this.Name + ".xml", xmlMap1);
}
}
void ThisWorkbook_BeforeXmlExport(Excel.XmlMap Map, string Url,
ref bool Cancel)
{
MessageBox.Show("Microsoft Excel is exporting XML from " +
"the XmlMap.");
}
void ThisWorkbook_AfterXmlExport(Excel.XmlMap Map, string Url,
Excel.XlXmlExportResult Result)
{
if (Result == Excel.XlXmlExportResult.xlXmlExportSuccess)
{
MessageBox.Show("XML export succeeded.");
}
else
{
MessageBox.Show("XML export failed.");
}
}
Разрешения
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.