Django/view
[Python] Excel 다운로드
두잇 두두
2024. 2. 15. 21:47
728x90
3.0 파이썬 엑셀 다루기 - openpyxl 사용법
파이썬을 통해서 엑셀파일을 불러오고 데이터를 입력하는 방법에 대해서 알아볼게요. **openpyxl은 파이썬에서 엑셀을 다루는 것을 쉽게 해주는 도구**입니다. ----- …
wikidocs.net
코드
from openpyxl.workbook import Workbook
workbook = Workbook()
ws = workbook.active
ws.title = "타이틀 설정"
headers = ['작성분류', '작성일자', '수정일자', '장소명', '상태', '유저', '관리자']
ws.append(headers)
ws.append() #데이터 입력
with NamedTemporaryFile() as tmp: #임시로 파일을 저장해서 읽어둠
workbook.save(tmp.name)
tmp.seek(0)
stream = tmp.read()
content_type = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
response = HttpResponse(stream, content_type=content_type)
response['Content-Disposition'] = 'attachment; filename=export.xlsx'
response['Access-Control-Expose-Headers'] = 'Content-Disposition'
return response
# Content-Disposition 헤더는 브라우저에게 서버로부터 전송된 파일을 어떻게 처리해야 하는지 알려주는 헤더입니다.
# 위 코드에서는 attachment로 설정되어 있어, 브라우저는 파일을 다운로드하도록 하게 됩니다. filename 파라미터에는 다운로드되는 파일의 이름이 지정되어 있습니다.
# Access-Control-Expose-Headers 헤더는 CORS (Cross-Origin Resource Sharing) 정책에 따라 브라우저가 접근할 수 있는 헤더를 지정하는데 사용됩니다.
# CORS 정책에 따라 브라우저가 허용된 헤더에만 접근할 수 있기 때문에 필요한 경우 이 헤더를 설정해주어야 합니다.