辉煌仪奇 2022-02-22 14:55 采纳率: 47.4%
浏览 26
已结题

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)
  • 写回答

2条回答 默认 最新

  • 这次真没糖 2022-02-22 15:44
    关注

    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)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月2日
  • 已采纳回答 2月22日
  • 创建了问题 2月22日

悬赏问题

  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line