주제에 자세히 설명되어 있습니다. xls 파일을 다운로드하는 방법에 대한 설명이 필요합니다. Odoo8에서 xlwt를 사용하여 xls 파일을 만든 다음 wb.save (filename) 함수를 사용하여 파일 시스템에 저장합니다. 그러나 많은 검색 결과를 통해 나는 필요한 것을 얻을 수 없으며 실제로 화가났습니다. 올바른 방법을 사용하는 데 도움이되는 사람이 있습니까?Odoo8에서 xls 파일을 다운로드하는 방법은 무엇입니까?
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을 잡아 파일을 엑셀 다운로드 과정을.
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
/web/binary/download_document?model=wizard.product.stock.report & 필드 = datas가 & ID = %의 & 파일 이름에서
아래를 참조, 나는 통과 한 모델, 필드, ID와 이름 = product_stock.xls
모든 파일이 txt, 당신은 XLS, CSV를 만들 수 있습니다 방법보다 사용하기.
감사합니다.
관련 문제
- 1. 파이썬에서 xls 파일을 다운로드하는 방법은 무엇입니까?
- 2. Postman에서 API의 Excel (.xls) 파일을 다운로드하는 방법은 무엇입니까?
- 3. 안드로이드 - parcticular 사이트에서 xls 파일을 다운로드하는 방법
- 4. KeyError : Odoo8에서 'web'을 수정하는 방법은 무엇입니까?
- 5. xls 파일을 xls 파일로 변환
- 6. RAR 파일을 다운로드하는 방법은 무엇입니까?
- 7. ftp에서 파일을 다운로드하는 방법은 무엇입니까?
- 8. 링크에서 파일을 다운로드하는 방법은 무엇입니까?
- 9. 메가가 파일을 다운로드하는 방법은 무엇입니까?
- 10. mvc3에서 파일을 다운로드하는 방법은 무엇입니까?
- 11. QWebView에서 파일을 다운로드하는 방법은 무엇입니까?
- 12. 폴더에서 파일을 다운로드하는 방법은 무엇입니까?
- 13. 다른 서버에서 파일을 다운로드하는 서버에서 파일을 다운로드하는 방법은 무엇입니까?
- 14. procmail을 사용하여 xls 파일을 다운로드하는 데 문제가 있습니다
- 15. 아이폰 애플리케이션에서 xls 파일을 여는 방법은 무엇입니까?
- 16. python을 사용하여 xls 파일을 업데이트하는 방법은 무엇입니까?
- 17. 티탄 appcelerator에서 xls 파일을 만드는 방법은 무엇입니까?
- 18. xls 파일을 mysql 형식으로 변환하는 방법은 무엇입니까?
- 19. .xls 파일을 .csv 파일로 변환하는 방법은 무엇입니까?
- 20. xls 파일을 xml로 변환하는 방법은 무엇입니까?
- 21. Ruby를 사용하여 웹 페이지에서 여러 파일을 다운로드하는 방법은 무엇입니까?
- 22. .xlsx 파일을 다운로드하는 방법
- 23. iPhone에서 웹에서 텍스트 파일을 다운로드하는 방법은 무엇입니까?
- 24. 웹 사이트를 방문하여 파일을 다운로드하는 방법은 무엇입니까?
- 25. twisted를 사용하여 원격 파일을 다운로드하는 방법은 무엇입니까?
- 26. 서블릿에 액세스하고 첨부 파일을 다운로드하는 방법은 무엇입니까?
- 27. 블로킹/동기 방식으로 파일을 다운로드하는 방법은 무엇입니까?
- 28. UIWebView에서 .epub 파일을 다운로드하는 방법은 무엇입니까?
- 29. 코드를 통해 .zip 파일을 다운로드하는 방법은 무엇입니까?
- 30. G-wan에서 대용량 파일을 다운로드하는 방법은 무엇입니까?
답변에 링크 만 게시하면 안됩니다. 링크가 더 이상 유효하지 않으면 어떻게됩니까? 이것은 차례 차례로 당신의 답을 무효로 만들 것입니다. – Goralight
좋아, 다음에 나는 적절한 예를 들어 대답 할 것입니다. –