python openpyxl 改错

我有一段测试代码如下,运行到保存文件是报错

img


我该怎么修改

def test(list1: [[any]],list2: [[any]],name: str,filenamepassword: str,title: str,
         size: [],tax: int) -> None:
    from openpyxl import Workbook
    from openpyxl.styles import Alignment
    from openpyxl.styles import Font
    wb = Workbook()
    ws = wb.active
    ws.merge_cells(range_string = "A1:J1")
    ws['A1'].value = f'{title}工程报价'
    ws['A1'].alignment = Alignment(horizontal = 'center',vertical = 'center')
    
    ws['A1'].fill = Font(u'微软雅黑',size = 11,bold = True,italic = False,strike = False,color = '2F75B5')
    ws.merge_cells(range_string = "A2:J2")
    ws['A2'].value = f"单元板数量:{size[2]} 净屏尺寸:{size[1]} 完工尺寸:{size[1]}"
    ws['A2'].alignment = Alignment(horizontal = 'center',vertical = 'center')
    ws['A2'].fill = Font(u'微软雅黑',size = 11,bold = True,italic = False,strike = False,color = '2F75B5')
    wb.save(name)


a = [['单元板','强力','户外 Q2.5pro','','平方',8.29,8325,'69014.25',''],['辅材','','','','平方',8.29,100,'829.00',''],
     ['电源','铂强','4.5V40A-H','','台',41,42,'1722.00',''],['控制卡','卡莱特','5A-75E','','控制卡',18,90,'1620.00',''],
     ['处理器','卡莱特','X16','','台',1,9800,'9800.00',''],['配电箱','国优','20kw','','平方',1,800,'800.00',''],
     ['结构','定制','钢结构','','平方',8.88,400,'3552.00',''],['包边','','','','平方',8.88,100,'888.00',''],
     ['安装调试','','','','平方',8.88,300,'2664.00','']]
a1 = [['箱体','','','','平方',0,0,'0.00','',False],['多功能卡','','','','张',0,0,'0.00','',False],
      ['音箱、功放','','','','套',0,0,'0.00','',False],['电脑','','','','台',0,0,'0.00','',False],
      ['运输','','','','项',0,0,'0.00','',False],['施工平台','','','','项',0,0,'0.00','',False],
      ['综合布线','','','','项',0,0,'0.00','',False]]
name = 'a.xlsx'
pawd = "123456"
title = "室内"
size = ['5.2*1.5','2.6*2.3',"3.3*4.5"]
tax = 5
test(a,a1,name,pawd,title,size,tax)

img

在11行和16中的属性修改错误,原本是ws['A2'].fill,现改为ws['A2'].font

解决了的话,请点击采纳答案

def test(list1: [[any]],list2: [[any]],name: str,filenamepassword: str,title: str,
         size: [],tax: int) -> None:
    from openpyxl import Workbook
    from openpyxl.styles import Alignment
    from openpyxl.styles import Font
    wb = Workbook()
    ws = wb.active
    ws.merge_cells(range_string = "A1:J1")
    ws['A1'].value = f'{title}工程报价'
    ws['A1'].alignment = Alignment(horizontal = 'center',vertical = 'center')
    # 属性错误,原本是ws['A1'].fill,现改为ws['A1'].font
    ws['A1'].font = Font(u'微软雅黑',size = 11,bold = True,italic = False,strike = False,color = '2F75B5')
    ws.merge_cells(range_string = "A2:J2")
    ws['A2'].value = f"单元板数量:{size[2]} 净屏尺寸:{size[1]} 完工尺寸:{size[1]}"
    ws['A2'].alignment = Alignment(horizontal = 'center',vertical = 'center')
    # 属性错误,原本是ws['A2'].fill,现改为ws['A2'].font
    ws['A2'].font = Font(u'微软雅黑',size = 11,bold = True,italic = False,strike = False,color = '2F75B5')
    wb.save(name)
 
 
a = [['单元板','强力','户外 Q2.5pro','','平方',8.29,8325,'69014.25',''],['辅材','','','','平方',8.29,100,'829.00',''],
     ['电源','铂强','4.5V40A-H','','台',41,42,'1722.00',''],['控制卡','卡莱特','5A-75E','','控制卡',18,90,'1620.00',''],
     ['处理器','卡莱特','X16','','台',1,9800,'9800.00',''],['配电箱','国优','20kw','','平方',1,800,'800.00',''],
     ['结构','定制','钢结构','','平方',8.88,400,'3552.00',''],['包边','','','','平方',8.88,100,'888.00',''],
     ['安装调试','','','','平方',8.88,300,'2664.00','']]
a1 = [['箱体','','','','平方',0,0,'0.00','',False],['多功能卡','','','','张',0,0,'0.00','',False],
      ['音箱、功放','','','','套',0,0,'0.00','',False],['电脑','','','','台',0,0,'0.00','',False],
      ['运输','','','','项',0,0,'0.00','',False],['施工平台','','','','项',0,0,'0.00','',False],
      ['综合布线','','','','项',0,0,'0.00','',False]]
name = 'a.xlsx'
pawd = "123456"
title = "室内"
size = ['5.2*1.5','2.6*2.3',"3.3*4.5"]
tax = 5
test(a,a1,name,pawd,title,size,tax)

上层函数调用有个参数类型传错了,图没截完整