Open okliv opened 11 years ago
I think I get the same problem without after_filter
just when I try to use data from another sheet.
My minimal working example:
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 cost
rand(1000)
end
#This works
wb.add_worksheet(:name => "Data Sheet") do |sheet|
sheet.add_row ['Month', 'Year', 'Type', 'Sales', 'Cost']
30.times { sheet.add_row [month, year, type, sales, cost] }
sheet.add_pivot_table 'G4:L17', "A1:E31" do |pivot_table|
pivot_table.rows = ['Month', 'Year']
pivot_table.columns = ['Type']
pivot_table.data = ['Sales', 'Cost']
end
end
#This works not
data = wb.add_worksheet(:name => "Data") do |sheet|
sheet.add_row ['Month', 'Year', 'Type', 'Sales', 'Cost']
30.times { sheet.add_row [month, year, type, sales, cost] }
end
wb.add_worksheet(:name => "Pivot Sheet") do |sheet|
sheet.add_pivot_table 'G4:L17', "'%s'!A1:E31" % data.name do |pivot_table|
pivot_table.rows = ['Month', 'Year']
pivot_table.columns = ['Type']
pivot_table.data = ['Sales', 'Cost']
end
end
p.serialize('test.xlsx')
my code:
but i receive
do i miss something or is this a bug?