利用Python xlwt模块生成与美化Excel(.xls)文件指南
本文详细介绍如何使用Python第三方库xlwt创建和写入Excel(.xls)文件。涵盖基础表格生成、字体与背景样式设置、行列对齐、边框绘制、公式与超链接插入,以及多区域合并等核心功能。同时指出该库仅支持旧版.xls格式的注意事项,帮助开发者高效完成历史数据兼容与报表导出任务。
环境准备与基础表格创建
在使用前需通过包管理器安装依赖。安装完成后,可快速生成工作簿并写入初始数据。请注意,xlwt 专门用于生成微软 Office Excel 97-2003 兼容的 .xls 文件。
import xlwt
# 创建工作簿
wb = xlwt.Workbook()
# 添加工作表(此处以“数据报表”为例)
ws = wb.add_sheet("数据报表")
# 向指定行列写入内容(行索引从0开始)
ws.write(0, 0, "产品名称")
ws.write(0, 1, "数量")
ws.write(1, 0, "示例商品A")
ws.write(1, 1, 100)
# 保存为.xls格式文件
wb.save("基础表格示例.xls")
设置单元格样式与排版
实际业务报表通常需要统一的视觉规范。以下代码演示如何统一配置字体属性、填充背景色、水平垂直对齐方式以及虚线边框。
import xlwt
wb = xlwt.Workbook()
ws = wb.add_sheet("样式演示")
# 初始化样式对象
style = xlwt.XFStyle()
# 1. 字体设置
font = xlwt.Font()
font.name = "Microsoft YaHei"
font.bold = True
font.italic = True
font.underline = True
style.font = font
# 2. 背景色设置(SOLID_PATTERN表示纯色填充)
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = 6 # 6代表洋红色,范围0-63
style.pattern = pattern
# 3. 对齐方式设置
alignment = xlwt.Alignment()
alignment.horz = xlwt.Alignment.HORZ_CENTER # 水平居中
alignment.vert = xlwt.Alignment.VERT_CENTER # 垂直居中
style.alignment = alignment
# 4. 边框设置
borders = xlwt.Borders()
color_code = 0x40 # 边框颜色
borders.left = xlwt.Borders.DASHED
borders.right = xlwt.Borders.DASHED
borders.top = xlwt.Borders.DASHED
borders.bottom = xlwt.Borders.DASHED
borders.left_colour = color_code
borders.right_colour = color_code
borders.top_colour = color_code
borders.bottom_colour = color_code
style.borders = borders
# 应用样式写入单元格
ws.write(0, 0, "格式化单元格", style)
wb.save("完整样式表格.xls")
高级功能:公式、日期与超链接
当需要让Excel自身计算数据或跳转网页时,可通过内置函数语法实现。
import xlwt
import datetime
wb = xlwt.Workbook()
ws = wb.add_sheet("高级功能")
# 输入基础数值用于后续公式引用
ws.write(0, 0, 10) # A列第一行
ws.write(0, 1, 20) # B列第一行
# 添加乘法公式 (A1 * B1),结果存放于 C1
ws.write(1, 0, xlwt.Formula("A1*B1"))
# 添加求和公式 SUM(A1,B1),结果存放于 D1
ws.write(1, 1, xlwt.Formula("SUM(A1,B1)"))
# 添加外部网页超链接
ws.write(2, 0, xlwt.Formula('HYPERLINK("https://www.example.com";"访问示例网站")'))
# 输入当前日期并设定显示格式
date_style = xlwt.XFStyle()
date_style.num_format_str = "YYYY-MM-DD" # 自定义日期格式
ws.write(3, 0, datetime.datetime.now(), date_style)
wb.save("高级功能表格.xls")
合并单元格与操作风险提示
import xlwt
wb = xlwt.Workbook()
ws = wb.add_sheet("合并演示")
# 合并第0-2行,第0-3列的区域
ws.write_merge(0, 2, 0, 3, "跨行列合并标题区")
wb.save("合并单元格表格.xls")
风险提示:上述合并操作会覆盖原区域内的其他数据。在批量处理敏感数据前,建议先备份源文件或运行于测试目录。xlwt 库已停止维护新特性,且严格限定输出为 .xls 格式。若业务强制要求生成 .xlsx 或需要修改已有文件,请切换至 openpyxl 或 pandas 方案。
以上就是利用Python中xlwt模块操作Excel的详细内容,更多关于Python导出数据及表格自动化的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









