summaryrefslogtreecommitdiffhomepage
path: root/examples/example.rb
diff options
context:
space:
mode:
authorRandy Morgan <[email protected]>2011-11-21 23:51:52 +0900
committerRandy Morgan <[email protected]>2011-11-21 23:51:52 +0900
commitb20ad2247db8032af420096e6567497b834108bf (patch)
treeefb5f5e1b600dabf424dc7da0d4bd480deb7ecbb /examples/example.rb
parentf6bb2aa09d5ee072c35fe744b96514aacfd28127 (diff)
downloadcaxlsx-b20ad2247db8032af420096e6567497b834108bf.tar.gz
caxlsx-b20ad2247db8032af420096e6567497b834108bf.zip
moving example.rb into example dir and altering gemspec to point to github
Diffstat (limited to 'examples/example.rb')
-rw-r--r--examples/example.rb83
1 files changed, 83 insertions, 0 deletions
diff --git a/examples/example.rb b/examples/example.rb
new file mode 100644
index 00000000..fd889556
--- /dev/null
+++ b/examples/example.rb
@@ -0,0 +1,83 @@
+ require 'rubygems'
+ require 'axlsx'
+
+#A Simple Workbook
+ p = Axlsx::Package.new
+ p.workbook.add_worksheet do |sheet|
+ sheet.add_row ["First", "Second", "Third"]
+ sheet.add_row [1, 2, 3]
+ end
+ p.serialize("example1.xlsx")
+
+#Generating A Bar Chart
+ p = Axlsx::Package.new
+ p.workbook.add_worksheet do |sheet|
+ sheet.add_row ["First", "Second", "Third"]
+ sheet.add_row [1, 2, 3]
+ sheet.add_chart(Axlsx::Bar3DChart, :start_at => [0,2], :end_at => [5, 15], :title=>"example 2: Chart") do |chart|
+ chart.add_series :data=>sheet.rows.last.cells, :labels=> sheet.rows.first.cells
+ end
+ end
+ p.serialize("example2.xlsx")
+
+#Generating A Pie Chart
+ p = Axlsx::Package.new
+ p.workbook.add_worksheet do |sheet|
+ sheet.add_row ["First", "Second", "Third"]
+ sheet.add_row [1, 2, 3]
+ sheet.add_chart(Axlsx::Pie3DChart, :start_at => [0,2], :end_at => [5, 15], :title=>"example 3: Pie Chart") do |chart|
+ chart.add_series :data=>sheet.rows.last.cells, :labels=> sheet.rows.first.cells
+ end
+ end
+ p.serialize("example3.xlsx")
+
+
+#Using Custom Styles
+
+ p = Axlsx::Package.new
+ wb = p.workbook
+ black_cell = wb.styles.add_style :bg_color => "FF000000", :fg_color => "FFFFFFFF", :sz=>14, :alignment => { :horizontal=> :center }
+ blue_cell = wb.styles.add_style :bg_color => "FF0000FF", :fg_color => "FFFFFFFF", :sz=>14, :alignment => { :horizontal=> :center }
+ wb.add_worksheet do |sheet|
+ sheet.add_row ["Text Autowidth", "Second", "Third"], :style => [black_cell, blue_cell, black_cell]
+ sheet.add_row [1, 2, 3], :style => Axlsx::STYLE_THIN_BORDER
+ end
+ p.serialize("example4.xlsx")
+
+#Using Custom Formatting and date1904
+
+ p = Axlsx::Package.new
+ wb = p.workbook
+ date = wb.styles.add_style :format_code=>"yyyy-mm-dd", :border => Axlsx::STYLE_THIN_BORDER
+ padded = wb.styles.add_style :format_code=>"00#", :border => Axlsx::STYLE_THIN_BORDER
+ percent = wb.styles.add_style :format_code=>"0%", :border => Axlsx::STYLE_THIN_BORDER
+ wb.date1904 = true # required for generation on mac
+ wb.add_worksheet do |sheet|
+ sheet.add_row ["Custom Formatted Date", "Percent Formatted Float", "Padded Numbers"], :style => Axlsx::STYLE_THIN_BORDER
+ sheet.add_row [Time.now, 0.2, 32], :style => [date, percent, padded]
+ end
+ p.serialize("example5.xlsx")
+
+#Validation
+ p = Axlsx::Package.new
+ p.workbook.add_worksheet do |sheet|
+ sheet.add_row ["First", "Second", "Third"]
+ sheet.add_row [1, 2, 3]
+ end
+
+ p.validate.each do |error|
+ puts error.inspect
+ end
+
+#Generating A Line Chart
+
+ p = Axlsx::Package.new
+ p.workbook.add_worksheet do |sheet|
+ sheet.add_row ["First", 1, 5, 7, 9]
+ sheet.add_row ["Second", 5, 2, 14, 9]
+ sheet.add_chart(Axlsx::Line3DChart, :start_at => [0,2], :end_at => [10, 15], :title=>"example 6: Line Chart") do |chart|
+ chart.add_series :data=>sheet.rows.first.cells[(1..-1)], :title=> sheet.rows.first.cells.first
+ chart.add_series :data=>sheet.rows.last.cells[(1..-1)], :title=> sheet.rows.last.cells.first
+ end
+ end
+ p.serialize("example6.xlsx")