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