xlwt模塊
xlwt模塊說明
xlwt是一個庫,用於向舊的Excel文件(即.xls)寫入數據和格式化信息。
資料說明
https://xlwt.readthedocs.io/en/latest/
安裝模塊
使用pip安裝
pip install xlwt
官方地址
https://pypi.org/project/xlwt/
xlwt.Workbook()參數
參數 | 釋義 |
---|---|
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 格式文件
整個數據庫導出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())
自定義函數版
直接加對應參數執行即可
參數 | 說明 | 示例 |
---|---|---|
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')
函數寫法【不懂請看上方帶註釋版】
# -*- 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)