Я использую гем Spreadsheet в приложении rails и хочу иметь возможность загрузить файл Excel, сгенерированный Spreadsheet. У меня в контроллере следующее действие:
def download_xls
send_data spreadsheet_report("Test", Prospects::INQUIRY_COLUMN_ORDER),
:filename => "Test.xls",
:type => "application/vnd.ms-excel"
end
Метод spreadsheet_report
определен в том же контроллере:
def spreadsheet_report(excel_filename, inquiry_column_order)
book = Spreadsheet::Workbook.new
sheet1 = book.create_worksheet :name => Array1[0]
sheet2 = book.create_worksheet :name => Array2[1]
rownum = 0
for column in inquiry_column_order
sheet1.row(rownum).push column
end
book.write "#{excel_filename}.xls"
end
Файл "Test.xls" загружается нормально, но, похоже, теряет необходимое форматирование, при этом создается только один рабочий лист, и в нем только значения в первой строке, которые растягиваются и растягиваются, например "@ biff_version = 1536 ». Я открываю его с помощью LibreOffice Calc, поэтому я не знаю, вызывает ли это какие-то проблемы, но я могу просто сгенерировать файл и открыть его с помощью LibreOffice Calc вне контекста send_data. Чего мне не хватает?