詳細については、xlsファイルをダウンロードする方法についての説明が必要です。 Odoo8では、ウィザードでxlwtを使ってxlsファイルを作成し、関数wb.save(filename)を使ってファイルシステムに格納します。 しかし、多くのグーグルでは、私は必要なものを手に入れることができません。私は本当に動揺しています... 正しい方法で私を助けてくれる人がいますか?xlsファイルをOdoo8にダウンロードするには?
0
A
答えて
0
xlsファイルをダウンロードするのに最適な例です。
ステップ1:通常のモデル(ウィザード)内にメソッドを作成し、URLを返します。
@api.multi
def get_file(self):
return {
'type' : 'ir.actions.act_url',
'url': '/web/binary/download_document?model=wizard.product.stock.report&field=datas&id=%s&filename=product_stock.xls'%(self.id),
'target': 'self',
}
は
ステップ2(ちょうどファイルのように、あなたは/web/controllers/main.pyで見ることができる):コントローラクラスを作成し、そのURLをキャッチし、Excelファイル、ダウンロードするための処理を行います。
from openerp import http
from openerp.http import request
from openerp.addons.web.controllers.main import serialize_exception,content_disposition
import base64
class Binary(http.Controller):
@http.route('/web/binary/download_document', type='http', auth="public")
@serialize_exception
def download_document(self,model,field,id,filename=None, **kw):
""" Download link for files stored as binary fields.
:param str model: name of the model to fetch the binary from
:param str field: binary field
:param str id: id of the record from which to fetch the binary
:param str filename: field holding the file's name, if any
:returns: :class:`werkzeug.wrappers.Response`
"""
Model = request.registry[model]
cr, uid, context = request.cr, request.uid, request.context
fields = [field]
res = Model.read(cr, uid, [int(id)], fields, context)[0]
filecontent = base64.b64decode(res.get(field) or '')
if not filecontent:
return request.not_found()
else:
if not filename:
filename = '%s_%s' % (model.replace('.', '_'), id)
return request.make_response(filecontent,
[('Content-Type', 'application/octet-stream'),
('Content-Disposition', content_disposition(filename))])
上記の方法では、私はURLからIDを取得してから計算を適用し、要求からhttp応答を返します。どのような値をウィザードからコントローラメソッドに渡しても、私はそれらをコントローラメソッドで取得し、そのコントローラメソッドでは必要な処理を行い、ファイルを直接返します。
URLから私はモデル、フィールド、IDとファイル名を合格した、以下を参照してください/web/binary/download_document?model=wizard.product.stock.report &フィールド= &件のデータID =%sの&ファイル名= product_stock.xls
任意のファイルTXT、あなたはXLS、CSVファイルを作成することができる方法の上に使用。
ありがとうございます。
関連する問題
- 1. ダウンロード.xlsファイルのhref
- 2. xlsファイルをアプリケーションからダウンロードする
- 3. Pythonでxlsファイルをダウンロードする方法は?
- 4. Angular2:バックエンドからダウンロードしたxlsファイル
- 5. odoo8で拡張ファイルをインポートするには?
- 6. 郵便配達員のAPIからExcel(.xls)ファイルをダウンロードするには?
- 7. reacts.jsのxlsファイルをインポートするには
- 8. XLSファイルをウェブサイトから自動的にダウンロード
- 9. txtファイルをxlsファイルに変換する
- 10. Angular2 - RestServiceからXLSをダウンロード
- 11. .xlsファイルを作成し、XLSファイル&を作成するためにPHP
- 12. PHPExcelはxlsをダウンロードしません
- 13. .xlsファイルをAccess 365にインポートする
- 14. アンドロイドプロジェクトにファイル(* .xls)を追加する
- 15. Python:DATファイルをXLSに変換
- 16. .netデータセットをXLSファイルにエクスポート
- 17. iphoneでプログラムxml xls xlsファイル形式でsqlite3データベースをエクスポートするには?
- 18. ファイルをダウンロードするには
- 19. ファイルをダウンロードするには
- 20. ファイルをダウンロードするには?
- 21. PythonとBeautifulSoupを使ってWebページから.xlsファイルをダウンロード
- 22. xlsをダウンロードしているが同じ列にある
- 23. Django xlsファイルをアップロードする
- 24. PHPでxls形式のファイルをダウンロードした後の問題
- 25. Jasper Reportによって生成されたxlsファイルをextj 4.0.2aでダウンロードするには
- 26. XSDファイルをXLSに変換するには
- 27. Googleシートに変換xlsをダウンロード機能の追加に追加
- 28. CSV/XLSカタログから画像をダウンロード
- 29. Pythonを使ってxlsファイルを更新するには?
- 30. 複数のファイルを.xlsに再結合する前に.xlsを.csvに変換する
あなたの回答にはリンクを貼り付けないでください。リンクがもはや有効でない場合はどうなりますか?これは順番にあなたの答えを無効にするでしょう... – Goralight
さて、次回私はあなたに適切な例で答えるでしょう。 –