Я пытаюсь использовать XML для экспорта данных из таблицы данных в файл Excel. Ниже приведен код, который я написал
Dim fs As New IO.StreamWriter(FileName, False)
With fs
.WriteLine("<?xml version=""1.0""?>")
.WriteLine("<?mso-application progid=""Excel.Sheet""?>")
.WriteLine("<ss:Workbook xmlns=""urn:schemas-microsoft-com:office:spreadsheet"">")
.WriteLine(" <ss:Styles>")
.WriteLine(" <ss:Style ss:ID=""1"">")
.WriteLine(" <ss:Font ss:Bold=""1""/>")
.WriteLine(" <ss:/Style>")
.WriteLine(" <ss:Worksheet ss:Name=""WCRPaymentLog"">")
.WriteLine(" <ss:Table>")
For x As Integer = 0 To dgReport.Columns.Count - 1
.WriteLine(" <ss:Column ss:Width=""{0}""/>", dgReport.Columns.Item(x).Width)
Next
.WriteLine(" <ss:Row ss:StyleID=""1"">")
For x As Integer = 0 To dgReport.Columns.Count - 1
.WriteLine(" <ss:Cell>")
.WriteLine(String.Format(" <ss:Data ss:Type=""String"">{0}</ss:Data>", dgReport.Columns.Item(x).HeaderText.Trim))
.WriteLine(" </ss:Cell>")
Next
.WriteLine(" </ss:Row>")
For intRow As Integer = 0 To dgReport.RowCount - 2
.WriteLine(String.Format(" <ss:Row ss:Height=""{0}"">", dgReport.Rows(intRow).Height))
For intCol As Integer = 0 To dgReport.Columns.Count - 1
.WriteLine(" <ss:Cell>")
.WriteLine(String.Format(" <ss:Data ss:Type=""String"">{0}</ss:Data>", dgReport.Item(intCol, intRow).Value.ToString.Trim))
.WriteLine(" </ss:Cell>")
Next
.WriteLine(" </ss:Row>")
Next
.WriteLine(" </ss:Table>")
.WriteLine(" </ss:Worksheet>")
.WriteLine("</ss:Workbook>")
.Close()
End With
Когда я пытаюсь запустить этот код, он выполняется правильно, но при открытии сгенерированного файла выдает ошибку: Strict Parse Error.
Журнал ошибок генерируется, как показано ниже: XML ОШИБКА PARSE: Неопределенное пространство имен Ошибка возникает в или ниже стека этого элемента: (стек пуст - ошибка возникает в или ниже элемента верхнего уровня.)
Может Любой, пожалуйста, помогите мне, где я делаю ошибку.
Также я хочу кодировать таким образом, если файл существует, тогда он добавит новый лист в код и запишет таблицу на этом листе. Может кто-нибудь помочь мне узнать, как это сделать, потому что этот код перезаписывает существующий файл.