From d4daeb562539363eef12ca3f67a18ff874d27911 Mon Sep 17 00:00:00 2001 From: Andy Meneely Date: Thu, 17 Jul 2014 16:44:32 -0400 Subject: [PATCH] Selecting the sheet in xlsx actually works now. --- lib/squib/api/data.rb | 2 +- samples/excel.rb | 7 ++++++- samples/sample.xlsx | Bin 9964 -> 11770 bytes 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/squib/api/data.rb b/lib/squib/api/data.rb index 7a636e6..f2a8d9d 100644 --- a/lib/squib/api/data.rb +++ b/lib/squib/api/data.rb @@ -9,7 +9,7 @@ module Squib def xlsx(file: 'deck.xlsx', sheet: 0) s = Roo::Excelx.new(file) - s.default_sheet = s.sheets.first + s.default_sheet = s.sheets[sheet] data = {} s.first_column.upto(s.last_column) do |col| header = s.cell(s.first_row,col).to_s diff --git a/samples/excel.rb b/samples/excel.rb index f74d3a8..60c706a 100644 --- a/samples/excel.rb +++ b/samples/excel.rb @@ -4,12 +4,17 @@ require 'squib' Squib::Deck.new(width: 825, height: 1125, cards: 3) do background color: :white - data = xlsx file: 'sample.xlsx', sheet: 0 + # Takes the first sheet by default + # Outputs a hash of arrays with the header names as keys + data = xlsx file: 'sample.xlsx' text str: data['Name'], x: 250, y: 55, font: 'Arial 54' text str: data['Level'], x: 65, y: 65, font: 'Arial 72' text str: data['Description'], x: 65, y: 600, font: 'Arial 36' + # You can also specify the sheet, starting at 0 + data = xlsx file: 'sample.xlsx', sheet: 2 + save format: :png, prefix: 'sample_excel_' end diff --git a/samples/sample.xlsx b/samples/sample.xlsx index 069c92250be5fd0b3cfe30fadd043a4417e6f4e2..9b48ae292181286e63c74fc7f8227237104863f8 100644 GIT binary patch delta 3574 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