summaryrefslogtreecommitdiffhomepage
path: root/examples
diff options
context:
space:
mode:
authorRandy Morgan (@morgan_randy) <[email protected]>2012-11-27 15:36:21 -0800
committerRandy Morgan (@morgan_randy) <[email protected]>2012-11-27 15:36:21 -0800
commitc3a36737a56a4f0334b97a897a0d3aa17eded82d (patch)
tree87de5615c5c43d49e9c31f583be14168056f0681 /examples
parent7d3d588a1a34777119fae41749711a734da22974 (diff)
parent036f5883939a91fbc3eb377d968d85500dc3098a (diff)
downloadcaxlsx-c3a36737a56a4f0334b97a897a0d3aa17eded82d.tar.gz
caxlsx-c3a36737a56a4f0334b97a897a0d3aa17eded82d.zip
Merge pull request #148 from alexrothenberg/pivot_table
Create a simple Pivot Table
Diffstat (limited to 'examples')
-rw-r--r--examples/pivot_table.rb39
1 files changed, 39 insertions, 0 deletions
diff --git a/examples/pivot_table.rb b/examples/pivot_table.rb
new file mode 100644
index 00000000..07d03d55
--- /dev/null
+++ b/examples/pivot_table.rb
@@ -0,0 +1,39 @@
+#!/usr/bin/env ruby -w -s
+# -*- coding: utf-8 -*-
+
+$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")