东林牧之 2022-04-29 17:00 采纳率: 0%
浏览 121

openpyxl使用vlookup公式,执行完成后,单元格既不显示结果也不显示公式。

问题遇到的现象和发生背景

openpyxl使用vlookup公式,执行代码后,存放结果的单元格是空白的,什么都没有显示。
在点击了单元格后,公式才会出现,鼠标移到公式后面再回车,单元格才出现公式运算结果。

难道不能执行完代码后,结果就运算出来写到对于的单元格中,如果还需要手动去回车一下就很不符合自动化了。

问题相关代码,请勿粘贴截图

import openpyxl
wb = openpyxl.load_workbook('有基础资料和库存.xlsx')
ws = wb['库存']
for i in range(2,22):
ws[f'G{i}']=f'=A{i}&VLOOKUP(D{i},基础资料!A:B,2,FALSE)\n'
wb.save('有基础资料和库存-处理后.xlsx')

运行结果及报错内容

正常运行。

我的解答思路和尝试过的方法
我想要达到的结果

执行代码后,公式的运算结果就写到对应的单元格中。而不是需要我们手动去回车刷公式。

  • 写回答

1条回答 默认 最新

  • 唐僧骑马噔了个噔 2022-04-29 17:43
    关注
    >>> import openpyxl
    >>> wb = openpyxl.load_workbook("F:/MyPython/score.xlsx")
    >>> sheet = wb.active
    >>> for row in range(5,20):
            sheet["E"+str(row)] = "=Vlookup(B"+str(row)+",H:I,2,0)"    
    >>> wb.save("F:/MyPython/score.xlsx")
    

    在本机测试没有出现问题
    你的 for 循环中 单元格赋值语句:是\n结尾吗?
    然后你可以查看你的Excel表G列的单元格的类型是否正常
    你本机代码中load_workbook方法没有设置data_only参数吧

    评论

报告相同问题?

问题事件

  • 创建了问题 4月29日