我想将用户的数据库的一部分导出为.xlsx
我设法创建了一个静态文件,让用户下载它,但这不是重点。
用户应选择他想要的过滤器,因此应直接通过浏览器创建和下载文件。
我的代码看起来像这样:
控制器
def download_pdf
send_data generate_pdf,
type: "application/xlsx"
end
private
def generate_pdf
workbook = WriteXLSX.new('export.xlsx')
worksheet = workbook.add_worksheet
worksheet.write(0, 0, 'status')
worksheet.write(0, 1, 'date')
worksheet.write(0, 2, 'customer')
workbook
end
结果将是一个文件,内容只是对象的名称
#<WriteXLSX:0x007fd9cf8aa290>
我不确定这是否是特定于write_xlsx的内容,或者我是否遗漏了明显的内容。
答案 0 :(得分:0)
保存&#39; export.xlsx&#39;到磁盘,你应该使用Workbook #close。 请参阅下面的generate_xlsx方法。
def generate_xlsx
workbook = WriteXLSX.new('export.xlsx')
worksheet = workbook.add_worksheet
worksheet.write(0, 0, 'status')
worksheet.write(0, 1, 'date')
worksheet.write(0, 2, 'customer')
workbook.close # <- Workbook#close
end
您可以在http://cxn03651.github.io/write_xlsx/index.html阅读文档。
享受!