blob: 15547b3750f47c471d41293fdebb7c68f1fbc98b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#!/usr/bin/env ruby -s
# frozen_string_literal: true
$LOAD_PATH.unshift "#{File.dirname(__FILE__)}/../lib"
require 'axlsx'
require 'memory_profiler'
# Axlsx.trust_input = true
row = []
input1 = (32..126).to_a.pack('U*').chars.to_a # these will need to be escaped
input2 = (65..122).to_a.pack('U*').chars.to_a # these do not need to be escaped
10.times { row << input1.shuffle.join }
10.times { row << input2.shuffle.join }
report = MemoryProfiler.report do
p = Axlsx::Package.new
p.workbook.add_worksheet do |sheet|
10_000.times do
sheet << row
end
end
p.serialize("example_memory.xlsx", zip_command: 'zip')
end
report.pretty_print
File.delete("example_memory.xlsx")
|