简介
xlwt是Python中操作Excel的一个库,可以将数据保存成Excel
API Reference:https://xlwt.readthedocs.io/en/latest/api.html#xlwt.Style.easyxf PyPI:https://pypi.org/project/xlwt-fix/
pip install xlwt
# 简单列子
import xlwt
# 定义workbook
workbook = xlwt.Workbook()
# 添加sheet,这个sheet的名字叫'Style'
sheet = workbook.add_sheet('Style')
# 写入数据
row = 0 # 行
column = 0 # 列
for i in range(72):
sheet.write(row, column, i) # 写入数据,第row行,第column列,具体内容是i
column += 1
if column > 8:
column = 0
row += 1
# 定义保存Excel的位置和文件名。默认是和代码存在一个路劲下面。
workbook.save('CreatExcelTable.xls')
1. 思路
设置表格格式,我们首先要先定义一个样式
my_style = xlwt.XFStyle()
然后对按照下面字体/对齐方式等设置,设置完成后,赋值给xlwt.XFStyle()的对象,例:
# 设置好字体类型
font = xlwt.Font()
font.name = 'name Times New Roman'
2. 自定义样式
2.1 字体
# 设置字体
font = xlwt.Font()
# 字体类型
font.name = 'name Times New Roman'
# 字体颜色
font.color_index = color # 设置字体颜色
# 字体大小,16为字号,20为衡量单位
font.height = 20 * 16
# 字体加粗
font.bold = False
# 下划线
font.underline = True
# 斜体字
font.italic = True
2.2 对齐方式
# 设置单元格对齐方式
alignment = xlwt.Alignment()
# 水平位置:0x01(左端对齐)、0x02(水平方向上居中对齐)、0x03(右端对齐)
alignment.horz = 0x02
# 垂直方向:0x00(上端对齐)、 0x01(垂直方向上居中对齐)、0x02(底端对齐)
alignment.vert = 0x01
2.3 边框
# 设置边框
borders = xlwt.Borders()
# 细实线:1,小粗实线:2,细虚线:3,中细虚线:4,大粗实线:5,双线:6,细点虚线:7,大粗虚线:8,细点划线:9,粗点划线:10,细双点划线:11,粗双点划线:12,斜点划线:13
borders.left = 1
borders.right = 2
borders.top = 3
borders.bottom = 4
borders.left_colour = color
borders.right_colour = color
borders.top_colour = color
borders.bottom_colour =
2.4 颜色
# 字体颜色
font.colour_index = 1
# 边框颜色
borders.left_colour = 1
borders.right_colour = 2
borders.top_colour = 3
borders.bottom_colour = 4
颜色与对应的数字可以参考:
2.5 背景色
# 设置背景颜色
pattern = xlwt.Pattern()
# 设置背景颜色的模式
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
# 背景颜色
pattern.pattern_fore_colour = 3
3. 案例
import xlwt
def define_style():
font = xlwt.Font()
# 字体类型
font.name = 'name Times New Roman'
# 字体颜色
font.colour_index = 1
# 字体大小,16为字号,20为衡量单位
font.height = 20 * 16
# 字体加粗
font.bold = False
# 下划线
font.underline = True
# 斜体字
font.italic = True
# 设置单元格对齐方式
alignment = xlwt.Alignment()
# 0x01(左端对齐)、0x02(水平方向上居中对齐)、0x03(右端对齐)
alignment.horz = 0x02
# 0x00(上端对齐)、 0x01(垂直方向上居中对齐)、0x02(底端对齐)
alignment.vert = 0x01
# 设置自动换行
alignment.wrap = 1
# 设置边框
borders = xlwt.Borders()
# 细实线:1,小粗实线:2,细虚线:3,中细虚线:4,大粗实线:5,双线:6,细点虚线:7
# 大粗虚线:8,细点划线:9,粗点划线:10,细双点划线:11,粗双点划线:12,斜点划线:13
borders.left = 1
borders.right = 2
borders.top = 3
borders.bottom = 4
borders.left_colour = 1
borders.right_colour = 2
borders.top_colour = 3
borders.bottom_colour = 4
# 设置列宽,一个中文等于两个英文等于两个字符,11为字符数,256为衡量单位
sheet.col(1).width = 11 * 256
# 设置背景颜色
pattern = xlwt.Pattern()
# 设置背景颜色的模式
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
# 背景颜色
pattern.pattern_fore_colour = 3
# 初始化样式
my_style = xlwt.XFStyle()
my_style.font = font # 设置字体
my_style.alignment = alignment # 设置对齐方式
my_style.borders = borders # 设置边框
my_style.pattern = pattern # 设置背景颜色
return my_style
if __name__ == '__main__':
book = xlwt.Workbook(encoding='utf-8')
sheet = book.add_sheet('sheet1', cell_overwrite_ok=True)
mystyle = define_style()
sheet.write(0, 0, u'(0,0)', mystyle) # 横坐标,纵坐标,内容,样式
book.save('my_excel.xlsx')