diff options
| author | Noel Peden <[email protected]> | 2022-10-21 05:02:06 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-10-21 05:02:06 -0700 |
| commit | 88d26b1ff504e4d6801be5e51ff98d182e932dac (patch) | |
| tree | 94ea518eb4f235c640fedea96fa14fdae49e2513 /lib | |
| parent | 315c3f04224ba2f4b44fe2ce633315a6e79f62cb (diff) | |
| parent | 23829c8ca966e619ee61a078afb006beff71d209 (diff) | |
| download | caxlsx-88d26b1ff504e4d6801be5e51ff98d182e932dac.tar.gz caxlsx-88d26b1ff504e4d6801be5e51ff98d182e932dac.zip | |
Merge pull request #156 from basefarm/pivot_multiple_data_columns
Prevent Excel from crashing when multiple data columns added to PivotTable
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/axlsx/workbook/worksheet/pivot_table.rb | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/axlsx/workbook/worksheet/pivot_table.rb b/lib/axlsx/workbook/worksheet/pivot_table.rb index 60960392..455665a5 100644 --- a/lib/axlsx/workbook/worksheet/pivot_table.rb +++ b/lib/axlsx/workbook/worksheet/pivot_table.rb @@ -217,8 +217,18 @@ module Axlsx end str << '</rowItems>' end - if columns.empty? && data.size <= 1 - str << '<colItems count="1"><i/></colItems>' + if columns.empty? + if data.size > 1 + str << '<colFields count="1"><field x="-2"/></colFields>' + str << "<colItems count=\"#{data.size}\">" + str << '<i><x/></i>' + data[1..-1].each_with_index do |datum_value,i| + str << "<i i=\"#{i + 1}\"><x v=\"#{i + 1}\"/></i>" + end + str << '</colItems>' + else + str << '<colItems count="1"><i/></colItems>' + end else str << ('<colFields count="' << columns.size.to_s << '">') columns.each do |column_value| |
