Class: XLSXResponse

Inherits:
Object
  • Object
show all
Defined in:
backend/app/lib/reports/xlsx_response.rb

Instance Method Summary (collapse)

Constructor Details

- (XLSXResponse) initialize(report, params = {})

Returns a new instance of XLSXResponse



5
6
7
8
9
10
11
12
# File 'backend/app/lib/reports/xlsx_response.rb', line 5

def initialize(report, params = {})
  @report = report

  @p = Axlsx::Package.new
  @wb = @p.workbook

  generate_report
end

Instance Method Details

- (Object) generate



27
28
29
# File 'backend/app/lib/reports/xlsx_response.rb', line 27

def generate
  @p.to_stream
end

- (Object) generate_report



14
15
16
17
18
19
20
21
# File 'backend/app/lib/reports/xlsx_response.rb', line 14

def generate_report
  @wb.add_worksheet(:name => @report.class.name) do |sheet|
    sheet.add_row @report.headers
    @report.each do |row|
      sheet.add_row @report.headers.map{|h| row[h]}
    end
  end
end

- (Object) to_stream



23
24
25
# File 'backend/app/lib/reports/xlsx_response.rb', line 23

def to_stream
  @p.to_stream
end