雖然聽起來可能很愚蠢,但我花了差不多一個星期的時間,但我無法解決它。以及我在我的模塊中創建了一個生成靜態excel報告的嚮導,它很好。問題是有遠程訪問我的模塊的客戶,當他們打開向導並單擊按鈕生成的報告保存在我的本地驅動器,他們什麼也得不到,有什麼解決方案,我把我的xlsx報告作爲一個可下載的文件和客戶端可以直接下載它? 對不起我的英語 由於事先如何在Odooo Python中下載文件?
這是我試過,但沒有奏效
data = wizard.plugin_file
file_path = wizard.file_path
my_report_data = open('C:/Users/Report.xlsx','rb')
f = my_report_data.read()
output = base64.encodestring(f)
self.write(cr, uid, ids[0], {'plugin_file': output}, context = context)
view_obj = self.pool.get('ir.ui.view')
view_id = view_obj.search(cr, uid, [('model', '=', 'report.model'), \
('name', '=', 'report_model_form_view2')])
return {
'name': 'Monthly Report ',
'view_type': 'form',
'view_mode': 'form',
'res_model': 'report.model',
'view_id': view_id, 'form'
'res_id': ids[0],
'type': 'ir.actions.act_window',
'target': 'new',
'context': context,
}
感謝您的回覆。我試過你的解決方案,但我不明白你的意思來自[(my_report_data)]?是瀏覽記錄?在我的情況下,我從我的嚮導編寫瀏覽記錄..它引發此錯誤文件「base64.pyc」,第313行,編碼字符串 TypeError:類型'bool'的對象沒有len() – 2015-03-16 08:04:21
不,這是內容你的報告。我假定您正在使用報告服務來生成PDF或Excel庫以生成電子表格。無論哪種情況,您都需要base64進行編碼,以便將其寫入嚮導記錄。 – 2015-03-17 03:01:18
我使用Python XlsxWriter包生成Excel報告,我將報告路徑('c:/Users/My_repot.xlsx')分配給[My_report_data],然後讀取並編碼base64,這次它沒有拋出任何錯誤但沒有任何意外的意思,它沒有寫在二進制字段中 – 2015-03-17 08:42:15