У меня есть код, ниже которого я использую, чтобы программно сохранить таблицу Excel Excel Excel в XML. Этот код генерирует идеальный XML-документ со схемой, которая соответствует опции Excel Save As. Мой вопрос заключается в том, чтобы достичь этого, не используя сборки interop. Я просмотрел документацию Open XML, и я не могу найти параметр «Сохранить как», который позволит мне сохранить документ как xml. Это возможно? Любая помощь в C# или vb.net была бы оценена.Преобразование .XLSX или .XLSM в XML
Private Function ConvertExcelToXml(path As String, file As String) As Boolean
Dim returnValue as Boolean
returnValue = True
Try
Dim importfile As String = (path & file) + ".xlsm"
Dim exportfile As String = (path & file) + ".xml"
Dim app As New Application()
app.Workbooks.Open(importfile, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
Type.Missing, Type.Missing, Type.Missing)
Dim data As String = String.Empty
app.ActiveWorkbook.XmlMaps(1).ExportXml(data) 'export the excel sheet xml to the string variable
System.IO.File.Delete(exportfile) 'delete the file if it already exists
System.IO.File.WriteAllText(exportfile, data) 'write the new file
app.Workbooks.Close()
Catch ex As Exception
returnValue = false
End Try
return returnValue
End Function
Спасибо, Chaos
Когда вы говорите о преобразовании в XML, вы имеете в виду таблицы SpreadsheetML или XML? – strongbutgood
Я точно не знаю, что это за форматы. Я пытаюсь получить XML-файл, который соответствует тому, что я получил бы, если бы использовал параметр «Сохранить как» в Excel. – Chaos
, так как вы получаете карту xml (как она была получена «ActiveWorkbook.XmlMaps (1)') в первую очередь? Вы импортируете некоторый XML в excel или программно добавляете карту? – strongbutgood