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)