summaryrefslogtreecommitdiffhomepage
path: root/lib/axlsx/workbook/shared_strings_table.rb
diff options
context:
space:
mode:
authorochko <[email protected]>2012-04-06 16:33:15 +0900
committerochko <[email protected]>2012-04-06 16:33:15 +0900
commit3431214a4feaa076ebc246552e5e61331d35c398 (patch)
treee560af73715bed412c4e4fd3427b00b681257ac7 /lib/axlsx/workbook/shared_strings_table.rb
parent78e2f076f0b0a1bbe651a3ce53075ae2cf778284 (diff)
downloadcaxlsx-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.rb8
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