File: xml.rb

package info (click to toggle)
ruby-roo 3.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 8,216 kB
  • sloc: ruby: 6,529; xml: 88; makefile: 6
file content (31 lines) | stat: -rw-r--r-- 939 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# returns an XML representation of all sheets of a spreadsheet file
module Roo
  module Formatters
    module XML
      def to_xml
        Nokogiri::XML::Builder.new do |xml|
          xml.spreadsheet do
            sheets.each do |sheet|
              self.default_sheet = sheet
              xml.sheet(name: sheet) do |x|
                if first_row && last_row && first_column && last_column
                  # sonst gibt es Fehler bei leeren Blaettern
                  first_row.upto(last_row) do |row|
                    first_column.upto(last_column) do |col|
                      next if empty?(row, col)

                      x.cell(cell(row, col),
                      row: row,
                      column: col,
                      type: celltype(row, col))
                    end
                  end
                end
              end
            end
          end
        end.to_xml
      end
    end
  end
end