0
我想导出我的数据库中的部分用户作为的.xlsx创建具有write_xlsx创业板动态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或者我在这里丢失了一些明显的东西。
所以......你需要使用由用户提供的'params'编写一些逻辑?你收集什么'params'?你想用他们做什么? –
我从来没有尝试过'write_xlsx',但是基于你想要导出模型的某个部分的事实,我强烈推荐['axlsx'](https://github.com/randym/axlsx)和['axlsx_rails' ](https://github.com/straydogstudio/axlsx_rails),它实现了一个名为'acts_as_axlsx'的方法,它只需要一个'ActiveRecord :: Relation'(意味着你可以使用查询方法来过滤)并从这个输出xlsx 。 – engineersmnky
@TomLord它不是关于过滤本身,我甚至不能创建文件。我的步骤是模拟一个动态文件,但现在内容将是静态的。我只是不想在服务器上创建文件,将它发送给客户,之后将其删除 – Elux91