已解决AttributeError: ‘function‘ object has no attribute ‘font‘

已解决(Python xlwt写入Excel报错)AttributeError: ‘function‘ object has no attribute ‘font‘







报错代码


我的代码设置Excel表格样式写入:

def body_style():
    # 一、创建一个样式对象,初始化样式 style
    style = xlwt.XFStyle()  # Create Style对象

    # 二、字体风格设置
    font = xlwt.Font()  # Create Font对象
    font.name = "SimSun"  # 设置字体类型,宋体
    font.colour_index = 4  # 设置字体颜色
    font.height = 20 * 12  # 字体大小,12为字号,20为衡量单位
    font.bont = True  # 设置字体加粗
    font.underline = True  # 下划线
    font.italic = True  # 斜体字

    # 三、设置好之后,全部都加到style上
    style.font = font
    return style


import xlwt

data_list = [('小白', '20', '男'), ('小黑', '21', '男'), ('小红', '20', '女')]
# 1. 创建Excel表对象
workbook = xlwt.Workbook(encoding='utf8')
# 2. 新建sheet表
worksheet = workbook.add_sheet('Sheet1')
# 3. 自定义列名
col1 = ('姓名', '年龄', '性别')
# 4. 将列属性元组col写进sheet表单中第一行
for i in range(0, len(col1)):
    worksheet.write(0, i, col1[i], body_style)
# 5. 将数据写进sheet表单中
for i in range(0, len(data_list)):
    data = data_list[i]
    for j in range(0, len(col1)):
        worksheet.write(i + 1, j, data[j], body_style)
# 6. 保存文件分两种格式
workbook.save('test.xls')

报错信息截图


在这里插入图片描述



报错翻译


报错信息翻译

“函数”对象没有“字体”属性



报错原因


报错原因:在使用xlwt写入数据时,在传入XFStyle格式的样式时,不要使用函数名调用写入



解决方法


写入数据时不要使用sheet.write(0, 0, '数据', body_style)这种方式,修改代码为:

style = body_style() # 把样式函数赋值
sheet.write(0, 0, '数据', style ) # 在写入数据时不调用函数,而是传入值

再次运行代码成功:


在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yuan2019035055/article/details/126287376