summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorStefan Daschek <[email protected]>2012-04-05 16:04:34 +0200
committerStefan Daschek <[email protected]>2012-04-05 16:04:34 +0200
commitff5d690f8c3ac8fcab2f9c21d5ddeb699cf0e5ef (patch)
tree23ffb916cb48d17aa7bc5e6da8c38bc10fed8b7c
parent4338184111e19487665070f928208c15e539bd96 (diff)
downloadcaxlsx-ff5d690f8c3ac8fcab2f9c21d5ddeb699cf0e5ef.tar.gz
caxlsx-ff5d690f8c3ac8fcab2f9c21d5ddeb699cf0e5ef.zip
Fix missing merged cells.
Merge cell info for all but the last merged cell was missing from XML output.
-rw-r--r--lib/axlsx/workbook/worksheet/worksheet.rb2
-rw-r--r--test/workbook/worksheet/tc_worksheet.rb2
2 files changed, 3 insertions, 1 deletions
diff --git a/lib/axlsx/workbook/worksheet/worksheet.rb b/lib/axlsx/workbook/worksheet/worksheet.rb
index 7d26b088..7aa38866 100644
--- a/lib/axlsx/workbook/worksheet/worksheet.rb
+++ b/lib/axlsx/workbook/worksheet/worksheet.rb
@@ -403,7 +403,7 @@ module Axlsx
@rows.each_with_index { |row, index| row.to_xml_string(index, str) }
str.concat '</sheetData>'
str.concat "<autoFilter ref='%s'></autoFilter>" % @auto_filter if @auto_filter
- str.concat "<mergeCells count='%s'>%s</mergeCells>" % [@merged_cells.size, @merged_cells.reduce('') { |memo, obj| "<mergeCell ref='%s'></mergeCell>" % obj } ] unless @merged_cells.empty?
+ str.concat "<mergeCells count='%s'>%s</mergeCells>" % [@merged_cells.size, @merged_cells.reduce('') { |memo, obj| memo += "<mergeCell ref='%s'></mergeCell>" % obj } ] unless @merged_cells.empty?
page_margins.to_xml_string(str) if @page_margins
str.concat "<drawing r:id='rId1'></drawing>" if @drawing
unless @tables.empty?
diff --git a/test/workbook/worksheet/tc_worksheet.rb b/test/workbook/worksheet/tc_worksheet.rb
index 67b11d3c..320561b3 100644
--- a/test/workbook/worksheet/tc_worksheet.rb
+++ b/test/workbook/worksheet/tc_worksheet.rb
@@ -207,8 +207,10 @@ class TestWorksheet < Test::Unit::TestCase
def test_to_xml_string_merge_cells
@ws.add_row [1, "two"]
@ws.merge_cells "A1:D1"
+ @ws.merge_cells "E1:F1"
doc = Nokogiri::XML(@ws.to_xml_string)
assert_equal(doc.xpath('//xmlns:worksheet/xmlns:mergeCells/xmlns:mergeCell[@ref="A1:D1"]').size, 1)
+ assert_equal(doc.xpath('//xmlns:worksheet/xmlns:mergeCells/xmlns:mergeCell[@ref="E1:F1"]').size, 1)
end
def test_to_xml_string_page_margins