Sha256: 4d5922f1b1e32f23070be4de9ec8682deae85902b5f5eda2fb157db1a5028909

Contents?: true

Size: 1.38 KB

Versions: 1

Compression:

Stored size: 1.38 KB

Contents

# To run:
# $ bundle install
# $ bundle exec ruby examples/basic.rb
# $ open examples/basic.xls

require 'rubygems'
require 'osheet'

fields = ['Sex', 'Age', 'Height', 'Weight']
data = {
  'Tom' => ['M', 52, "6'2\"", '220 lbs.'],
  'Dick' => ['M', 33, "6'5\"", '243 lbs.'],
  'Sally' => ['F', 29, "5'3\"", '132 lbs.']
}

# this will dump the above data to a single-sheet workbook w/ no styles

puts "building examples/basic.rb ..."

Osheet::Workbook.new(Osheet::XmlssWriter.new) {
  title "basic"
  worksheet {
    name "Stats: #{fields.join(', ')}"

    column {
      width 200
      meta(
        :label => "Name"
      )
    }
    fields.each_with_index do |f, i|
      column {
        width 80
        meta(
          :label => f.to_s,
          :index => i
        )
      }
    end

    row {     # title row
      cell {
        colspan columns.count
        data worksheet.name
      }
    }
    row {     # empty row
      cell {
        colspan columns.count
        data ''
      }
    }
    row {     # header row
      columns.each do |column|
        cell {
          data column.meta[:label]
        }
      end
    }

    data.each do |name, stats|
      row {   # data row
        cell {
          data name
        }
        stats.each do |stat|
          cell {
            data stat
          }
        end
      }
    end
  }
}.to_file('examples/basic.xls')

puts "open examples/basic.xls"

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
osheet-1.0.0.rc.1 examples/basic.rb