Как конвертировать из excel в xml на ruby?

Пользователь

от montana_hand , в категории: Другие , 6 месяцев назад

Как конвертировать из excel в xml на ruby?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от jazmyne , 6 месяцев назад

@montana_hand 

Вот пример кода, который позволит вам конвертировать файл Excel в формат XML с использованием библиотеки roo в Ruby:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
require 'roo'
require 'builder'

def excel_to_xml(excel_file, xml_file)
  workbook = Roo::Spreadsheet.open(excel_file)
  sheet = workbook.sheet(0)

  xml = Builder::XmlMarkup.new(indent: 2)
  xml.instruct! :xml, encoding: 'UTF-8'
  xml.root do
    sheet.each_row_streaming(pad_cells: true) do |row|
      xml.row do
        row.each do |cell|
          xml.cell cell.value
        end
      end
    end
  end

  File.write(xml_file, xml.target!)
end

# Пример использования
excel_to_xml('input.xlsx', 'output.xml')


В этом примере мы используем библиотеку roo для открытия файла Excel и чтения его содержимого. Мы также используем библиотеку builder для создания XML-структуры.


Мы открываем файл Excel input.xlsx и выбираем первый лист (индекс 0). Затем мы проходим через каждую строку в этом листе и каждую ячейку в каждой строке. Мы используем библиотеку builder, чтобы создать XML-файл, который содержит значения из ячеек. Затем мы сохраняем этот XML-файл в output.xml.


Этот код является базовым примером и может потребоваться дополнительная обработка для выполнение более сложных задач конвертации.