xlwt是一個庫,用於向舊的Excel文件(即.xls)寫入數據和格式化信息。html
資料說明數據庫
https://xlwt.readthedocs.io/en/latest/
使用pip安裝django
pip install xlwt
官方地址函數
https://pypi.org/project/xlwt/
參數 | 釋義 |
---|---|
Owner | 設置文檔全部者 |
country_code | 國家嗎 |
wnd_protect | 窗口保護 |
obj_protect | 對象保護 |
Protect | 保護 |
backup_on_save | 保存時備份 |
Hpos | 橫向座標 |
Vpos | 縱向座標 |
Width | 寬度 |
Height | 高度 |
active_sheet | 活動表 |
tab_width | tab寬度 |
wnd_visible | 窗口是否可見 |
wnd_mini | 窗口最小化 |
hscroll_visible | 橫向滾動條是否可見 |
vscroll_visible | 縱向滾動條是否可見 |
tabs_visible | tab是否可見 |
dates_1904 | 是否使用1904日期系統 |
use_cell_values | 單元格的值 |
default_style | 默認樣式 |
colour_RGB | rgb顏色 |
encoding | 指定存儲文件編碼 |
import xlwt Excel_obj = xlwt.Workbook(encoding='utf-8') # 建立要導出的 Excel 表格對象並指定編碼 Excel_tab = Excel_obj.add_sheet('sheet1') # 建立 Excel 表(sheet1爲Excel選項卡的表名,並不是Excel文件名) Excel_tab.write(0, 2, '我是數據') # 索引第1行,第3列並寫入數據 Excel_obj.save('./Test_Excel.xls') # 保存導出 Excel 格式文件
【下方有函數版精簡版】編碼
from django.shortcuts import render from APP import models import xlwt def xlwt_test(request): Test_Data = models.Test_Tab.objects.values() # Test_Tab 中的全部數據對象 DATA_title = list(Test_Data[0].keys()) Line_len = len(Test_Data) Col_len = len(DATA_title) print("總數據:", Test_Data) print("數據字段名:", DATA_title) print("數據總行數:", Line_len) print("數據總列數:", Col_len) Excel_obj = xlwt.Workbook(encoding='utf-8') # 建立要導出的 Excel 表格對象並指定編碼 Excel_tab = Excel_obj.add_sheet('sheet1') # 建立 Excel 表(sheet1爲Excel選項卡的表名,並不是Excel文件名) for T in range(0,Col_len): # 列循環---便於寫入 SQL字段[Ecel標題] Excel_tab.write(0, T,DATA_title[T]) print("標題索引列:",T,"當前列名:",DATA_title[T]) for C in range(0, Line_len): # 行循環---便於逐行寫入數據 DATA_line = dict(Test_Data[C]) print("########################") print("當前行索引位:", C) print("當前數據庫行數據:",DATA_line) for L in range(0, Col_len): # 行循環嵌套列循環---便於寫入每一個字段/表格的數據 DATA_field = DATA_title[L] DATA_value = DATA_line.get(DATA_field) Excel_tab.write(C+1,L,DATA_value) print("當前列索引位:", L) print("當前列的字段名:", DATA_field) print("當前列寫入的數據", DATA_value) Excel_obj.save('./Test_Excel.xls') # 導出 Excel 格式文件 return render(request,"dialogue.html",locals())
直接加對應參數執行便可code
參數 | 說明 | 示例 |
---|---|---|
Tab_Data | 數據庫查詢出來的對象 | DATA = models.Test_Tab.objects.values() |
Tab_Name | 導出的Excel表名稱 | 'sheet1' |
Sav_Path | 導出的Excel文件絕對路徑 | './Test_Excel.xls' |
使用示例 |
Xlwt_Export(Test_Data,'sheet1','./Test_Excel.xls')
函數寫法【不懂請看上方帶註釋版】htm
# -*- coding:utf8 -*- import xlwt def Xlwt_Export(Tab_Data,Tab_Name,Sav_Path): try: DATA_title = list(Tab_Data[0].keys()) Line_len = len(Tab_Data) Col_len = len(DATA_title) Excel_obj = xlwt.Workbook(encoding='utf-8') Excel_tab = Excel_obj.add_sheet(Tab_Name) for T in range(0,Col_len): Excel_tab.write(0, T,DATA_title[T]) for C in range(0, Line_len): DATA_line = dict(Tab_Data[C]) for L in range(0, Col_len): DATA_field = DATA_title[L] DATA_value = DATA_line.get(DATA_field) Excel_tab.write(C+1,L,DATA_value) Excel_obj.save(Sav_Path) except Exception as e: print("錯誤信息:",e)