summaryrefslogtreecommitdiffhomepage
path: root/examples
diff options
context:
space:
mode:
authorAlex Rothenberg <[email protected]>2012-11-27 09:53:30 -0500
committerAlex Rothenberg <[email protected]>2012-11-27 09:54:23 -0500
commit4560bd0a1b8b46bf4d8c0783f9fa12e8ceee714f (patch)
treef5e6d539c7b4962442509ab6a09b2b4c42e8eaa5 /examples
parent2feca4f74f21e6a3e63bd3badd02267be4062047 (diff)
downloadcaxlsx-4560bd0a1b8b46bf4d8c0783f9fa12e8ceee714f.tar.gz
caxlsx-4560bd0a1b8b46bf4d8c0783f9fa12e8ceee714f.zip
Create a simple Pivot Table
* an example can be run with `ruby examples/pivot_table.rb` * right now you cannot set options on the pivot table to make it useful (coming soon...)
Diffstat (limited to 'examples')
-rw-r--r--examples/pivot_table.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/examples/pivot_table.rb b/examples/pivot_table.rb
new file mode 100644
index 00000000..229ed8c9
--- /dev/null
+++ b/examples/pivot_table.rb
@@ -0,0 +1,34 @@
+#!/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"
+end
+
+# Write the excel file
+p.serialize("pivot_table.xlsx")