diff options
| author | ochko <[email protected]> | 2012-04-06 16:33:15 +0900 |
|---|---|---|
| committer | ochko <[email protected]> | 2012-04-06 16:33:15 +0900 |
| commit | 3431214a4feaa076ebc246552e5e61331d35c398 (patch) | |
| tree | e560af73715bed412c4e4fd3427b00b681257ac7 /lib/axlsx/workbook/shared_strings_table.rb | |
| parent | 78e2f076f0b0a1bbe651a3ce53075ae2cf778284 (diff) | |
| download | caxlsx-3431214a4feaa076ebc246552e5e61331d35c398.tar.gz caxlsx-3431214a4feaa076ebc246552e5e61331d35c398.zip | |
put only plain string cells in shared string table
Diffstat (limited to 'lib/axlsx/workbook/shared_strings_table.rb')
| -rw-r--r-- | lib/axlsx/workbook/shared_strings_table.rb | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/axlsx/workbook/shared_strings_table.rb b/lib/axlsx/workbook/shared_strings_table.rb index 90aefced..61402aec 100644 --- a/lib/axlsx/workbook/shared_strings_table.rb +++ b/lib/axlsx/workbook/shared_strings_table.rb @@ -29,12 +29,12 @@ module Axlsx # Creates a new Shared Strings Table agains an array of cells # @param [Array] cells This is an array of all of the cells in the workbook def initialize(cells) - cells = cells.flatten.reject { |c| c.type != :string || c.value.nil? || c.value.start_with?('=') } @index = 0 - @count = cells.size @unique_cells = {} @shared_xml_string = "" - resolve(cells) + shareable_cells = cells.flatten.select{ |cell| cell.plain_string? } + @count = shareable_cells.size + resolve(shareable_cells) end # Serializes the object @@ -53,7 +53,7 @@ module Axlsx # @return [Array] unique cells def resolve(cells) cells.each do |cell| - cell_hash = cell.shareable_hash + cell_hash = cell.value if index = @unique_cells[cell_hash] cell.send :ssti=, index else |
