Как преобразовать таблицу excel в xml-файл?
У меня есть файл Excel с тремя рабочими листами. Один из этих листов представляет собой таблицу с 3500 строк, каждая из которых содержит 200 столбцов. Мне нужно превратить эту таблицу в xml-файл со следующей формой:
<xml> <element columm1="attribute1" columm2="attribute2" /> </xml>
Где «columnN» – это имя каждого столбца, а «attributeN» – это значение для каждой строки. Каждый «элемент» представляет строку таблицы.
Я не знаю, какой был бы самый простой способ сделать это. Я считаю, что это можно сделать с помощью макросов или VBA, но я не уверен, потому что я плохо знаю язык.
- java - генерация xml из содержимого листа excel
- Сортировка автофильтрации excel, созданная с помощью C # с Open xml excel
- Преобразование xml-файла в файл xlsx с помощью VBA
- Excel VBA конвертирует мой «TM» (Trademark TM) в моем XML в «T», когда я запускаю XSLT, который преобразует UTF-8 в ISO-8859-1
- html to excel - напечатать строку 1 на каждой странице
В идеале, процесс может быть адаптирован, если формат таблицы изменится (с большим количеством строк или столбцов) или Excel изменений файла (в том числе больше электронных таблиц, например). Большое спасибо за помощь.
- Экспорт XML-данных в Excel с помощью C #
- Расположение макросов excel vba в xml
- ActionScript чтение большого файла xlsx
- Извлечь информацию тега из файлов XML в файл Excel
- Исключение POI Apache Часть с именем '/docProps/core.xml' уже существует
- Как преобразовать Excel в XML с вложенными элементами с помощью XSLT 1.0?
- ClosedXML: доступ к существующей сводной таблице
- Сохранение файла Excel в формате XML с помощью PowerShell
Это должно сделать:
Sub ToXML() MyFile = "data.xml" fnum = FreeFile() Open MyFile For Output As fnum Dim n As Integer n = 3 'Number of DATA rows Dim m As Integer m = 2 ' Number of columns Print #fnum, "<xml>" For i = 2 To n + 1 Print #fnum, "<element "; For j = 1 To m Print #fnum, Cells(1, j).Value & "=""" & Cells(i, j).Value & """ "; Next j Print #fnum, "/>" Next i Print #fnum, "</xml>" Close #fnum End Sub