如何在axlsx中加速add_row调用

时间:2013-11-12 19:46:32

标签: ruby performance axlsx

我正在创建大约10,000行,包含大约50列数据。我的代码如下所示:

  Axlsx::Package.new do |spreadsheet|
    fields.keys.each do |question|
      sortedFields = fields[question].keys.sort
      spreadsheet.workbook.add_worksheet(:name => question) do |sheet|
        # Add spreadsheet header
        sheet.add_row(sortedFields)

        data[question].each do |client,results|
          results.each do |result|
            row =  sortedFields.map{|field|
              result[field] || ""
            }
            sheet.add_row(row)
          end
        end
      end
    end

它真的很慢并且占用了大量内存。有没有办法排队行,然后批量添加行,或其他一些可以提高性能的策略?

0 个答案:

没有答案