2010-04-14 2 views
5

Excel 파일로 내보낼 수있는 HTML 테이블이 있습니다. 이미 테이블을 IQY 파일로 내보내는 옵션이 있지만 Excel을 통해 데이터를 새로 고칠 수없는 것을 선호합니다. 난 그냥 사용자가 링크/버튼을 클릭하면 테이블의 스냅 샷을 소요 기능이 싶습니다.Django/Python : Excel에 HTML 테이블 저장

사용자가 테이블에 표시된 쿼리 결과를 저장할 수있는 HTML 페이지의 링크/단추 인 경우 필자가 선호합니다. HTML/CSS의 서식을 유지할 수 있다면 좋을 것입니다. 이 작업을 수행 할 수있는 방법이 있습니까? 아니면 IQY로 수정할 수있는 것이 있습니까?

필요한 경우 자세한 정보를 제공 할 수 있습니다. 미리 감사드립니다.

답변

7

우수 xlwt 모듈을 사용할 수 있습니다. 매우 사용하기 쉽고 xls 형식의 파일을 만듭니다 (Excel 2003). 여기

장고보기 위해 사용하는 (! 안된) 예입니다

from django.http import HttpResponse 
import xlwt 

def excel_view(request): 
    normal_style = xlwt.easyxf(""" 
    font: 
     name Verdana 
    """) 
    response = HttpResponse(mimetype='application/ms-excel') 
    wb = xlwt.Workbook() 
    ws0 = wb.add_sheet('Worksheet') 
    ws0.write(0, 0, "something", normal_style) 
    wb.save(response) 
    return response 
2

CSV를 사용하십시오. 파이썬 ("csv")에서 모듈을 생성하고 엑셀에서 기본적으로 읽을 수 있습니다.

+0

사용자 인터페이스 관점에서 사용자에게 CSV 파일을 어떻게 표시합니까? 사용자는 이미 페이지를보고 있으므로 링크를 클릭하여 일부보기 기능으로 돌아가서 CSV 파일을 생성 한 다음 ...? – kafuchau

+0

또한 CSV는 내 HTML 표에 이미있는 형식을 유지하지 않을 것입니다. 맞습니까? – kafuchau

+0

오른쪽. CSV를 사용하면 결과가 좋지 않습니다. 스타일의 문제 일뿐만 아니라 열 너비도 표준적인 것입니다. 네이티브 Excel 파일을 생성하는 방법이 있으므로 CSV 사용을 권장하지 않습니다. –

0

엑셀 지원 (심지어 CSS의 서식) 스프레드 시트로 테이블을 포함하는 HTML 파일을 여는.

Roberto는 콘텐츠 형식이 application/ms-excel 인 장고보기의 HTML 콘텐츠를 기본적으로 제공해야한다고 말했습니다.

또는 모험을 느끼는 경우 Downloadify과 같은 것을 사용하여 파일을 클라이언트 측에서 다운로드 할 준비를 할 수 있습니다.