Sha256: 81e5e1f4b031958379b5633d56e6e6703d0ac4f2e510db897b7310cd585b9159

Contents?: true

Size: 862 Bytes

Versions: 1

Compression:

Stored size: 862 Bytes

Contents

#!/usr/bin/env ruby -w -s
$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
require 'axlsx'

p = Axlsx::Package.new
wb = p.workbook

# Create some data in a sheet
def month
  %w(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec).sample
end
def year
  %w(2010 2011 2012).sample
end
def type
  %w(Meat Dairy Beverages Produce).sample
end
def sales
  rand(5000)
end
def region
  %w(East West North South).sample
end

wb.add_worksheet(:name => "Data Sheet") do |sheet|
  sheet.add_row ['Month', 'Year', 'Type', 'Sales', 'Region']
  30.times { sheet.add_row [month, year, type, sales, region] }
  sheet.add_pivot_table 'G4:L17', "A1:E31" do |pivot_table|
    pivot_table.rows = ['Month', 'Year']
    pivot_table.columns = ['Type']
    pivot_table.data = ['Sales']
    pivot_table.pages = ['Region']
  end
end

# Write the excel file
p.serialize("pivot_table.xlsx")

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
axlsx-1.3.6 examples/pivot_table.rb