需要安裝pip install xlwt
def export_book(request):
bookinfo = Books.objects.all()
if bookinfo:
# 設定語言,建議是utf-8因為需要中文支援
language = Workbook(encoding='utf-8')
# 建立excel表
w = language.add_sheet(u"sheet1")
w.write(0, 0, "ID編号")
w.write(0, 1, u"圖書種類")
w.write(0, 2, u"圖書名稱")
w.write(0, 3, u"入庫幾冊")
w.write(0, 4, u"圖書國籍")
w.write(0, 5, u"是否入庫")
w.write(0, 6, u"圖書價格")
w.write(0, 7, u"添加時間")
w.write(0, 8, u"上傳圖檔名稱")
# 寫入資料
excel_row = 1
for obj in bookinfo:
data_id = obj.booksid
data_species = obj.booksspecies
data_name = obj.booksname
data_number = obj.booksnumber
dada_country = obj.bookscountry
dada_storage = obj.booksstorage
dada_money = obj.booksmoney
dada_times = obj.bookstimes
dada_img_name = obj.booksimg_name
w.write(excel_row, 0, data_id)
w.write(excel_row, 1, data_species)
w.write(excel_row, 2, data_name)
w.write(excel_row, 3, data_number)
w.write(excel_row, 4, dada_country)
w.write(excel_row, 5, dada_storage)
w.write(excel_row, 6, dada_money)
w.write(excel_row, 7, dada_times)
w.write(excel_row, 8, dada_img_name)
excel_row += 1
# 儲存檔案
exist_file = os.path.exists("export_info.xls")
if exist_file:
os.remove(r"export_info.xls")
language.save("export_info.xls")
# 這裡使用io流.
ioa = BytesIO()
language.save(ioa)
ioa.seek(0)
response = HttpResponse(ioa.getvalue(), content_type='application/vnd.ms-excel')
response['Content-Disposition'] = 'attachment; filename=export_info.xls'
response.write(ioa.getvalue())
return response