5

我正在创建大约 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

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

4

0 回答 0