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):
-
-
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)