最近在學習django剛好需要用到下載excel的功能,在網路上找到了一些資料,整理成筆記放在這邊給大家也給以後的自己參考。
1. 使用xlsxwriter來進行實作,可以使用 pip install xlsxwriter來安裝。(本次實作使用之python版本為3.6)
2. 簡單view程式範例
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
import io
import xlsxwriter #記得多import這兩項
def excel(request):
output = io.BytesIO() #用BytesIO 來存我們的資料
workbook = xlsxwriter.Workbook(output) #用xlsxwriter.Workbook來開啟我們剛剛建立的BytesIO
worksheet = workbook.add_worksheet() #新增一個sheet
row = 0
col = 0
worksheet.write(row, col, “1” )
worksheet.write(row, col + 1, “2” )
worksheet.write(row, col + 2, ”3” ) #在某行某列加入資料
workbook.close() #把workbook關閉
output.seek(0)
response = HttpResponse(output.read(),content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
response['Content-Disposition'] = "attachment; filename=excel.xlsx"
#定義本函數對應之response為下載檔案excel.xlsx
return response
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3. 記得到url.py新增條目 url(r'^exccel/$', excel),
4. Runsrver後到127.0.0.1/excel 就能夠下載我們剛剛建立的檔案了!
1. 使用xlsxwriter來進行實作,可以使用 pip install xlsxwriter來安裝。(本次實作使用之python版本為3.6)
2. 簡單view程式範例
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
import io
import xlsxwriter #記得多import這兩項
def excel(request):
output = io.BytesIO() #用BytesIO 來存我們的資料
workbook = xlsxwriter.Workbook(output) #用xlsxwriter.Workbook來開啟我們剛剛建立的BytesIO
worksheet = workbook.add_worksheet() #新增一個sheet
row = 0
col = 0
worksheet.write(row, col, “1” )
worksheet.write(row, col + 1, “2” )
worksheet.write(row, col + 2, ”3” ) #在某行某列加入資料
workbook.close() #把workbook關閉
output.seek(0)
response = HttpResponse(output.read(),content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
response['Content-Disposition'] = "attachment; filename=excel.xlsx"
#定義本函數對應之response為下載檔案excel.xlsx
return response
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
3. 記得到url.py新增條目 url(r'^exccel/$', excel),
4. Runsrver後到127.0.0.1/excel 就能夠下載我們剛剛建立的檔案了!
留言
張貼留言