From 1c2ec07135a46bd042528c5bc6e5e37b563b6c6e Mon Sep 17 00:00:00 2001 From: ochko Date: Mon, 26 Mar 2012 20:04:47 +0900 Subject: do nothing unless it is told to autowith fitting --- lib/axlsx/workbook/worksheet/worksheet.rb | 1 + 1 file changed, 1 insertion(+) (limited to 'lib') diff --git a/lib/axlsx/workbook/worksheet/worksheet.rb b/lib/axlsx/workbook/worksheet/worksheet.rb index 1d128235..b6acad45 100644 --- a/lib/axlsx/workbook/worksheet/worksheet.rb +++ b/lib/axlsx/workbook/worksheet/worksheet.rb @@ -493,6 +493,7 @@ module Axlsx # @param [Array] cells an array of cells # @param [Array] widths an array of cell widths @see Worksheet#add_row def update_auto_fit_data(cells, widths=[]) + return cells unless self.workbook.use_autowidth # TODO delay this until rendering. too much work when we dont know what they are going to do to the sheet. styles = self.workbook.styles cellXfs, fonts = styles.cellXfs, styles.fonts -- cgit v1.2.3 From f6c3a491ef014914524a98259a8679a5e4f64d57 Mon Sep 17 00:00:00 2001 From: ochko Date: Mon, 26 Mar 2012 20:05:48 +0900 Subject: use Array#join instead of concatenating (got 1 sec speed improvement for 1000 cells) --- lib/axlsx/workbook/worksheet/row.rb | 2 +- lib/axlsx/workbook/worksheet/worksheet.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/axlsx/workbook/worksheet/row.rb b/lib/axlsx/workbook/worksheet/row.rb index db7a56e5..cec2eb25 100644 --- a/lib/axlsx/workbook/worksheet/row.rb +++ b/lib/axlsx/workbook/worksheet/row.rb @@ -63,7 +63,7 @@ module Axlsx if custom_height? "%s" % [index+1, height, @cells.inject("") { |memo, obj| obj.to_xml_string }] else - "%s" % [index+1, @cells.inject("") { |memo, obj| memo.concat obj.to_xml_string }] + "%s" % [index+1, @cells.map{ |obj| obj.to_xml_string }.join] end end # Serializes the row diff --git a/lib/axlsx/workbook/worksheet/worksheet.rb b/lib/axlsx/workbook/worksheet/worksheet.rb index b6acad45..a85da6fc 100644 --- a/lib/axlsx/workbook/worksheet/worksheet.rb +++ b/lib/axlsx/workbook/worksheet/worksheet.rb @@ -386,7 +386,7 @@ module Axlsx str.concat '' end - str.concat "%s" % [@rows.reduce('') { |memo, obj| memo += obj.to_xml_string }] + str.concat "%s" % @rows.map { |obj| obj.to_xml_string }.join str.concat page_margins.to_xml_string if @page_margins str.concat "" % @auto_filter if @auto_filter str.concat "%s" % [@merged_cells.size, @merged_cells.reduce('') { |memo, obj| "" % obj } ] unless @merged_cells.empty? -- cgit v1.2.3