我正在使用我的AWS帐户中的数据创建一个ExcelElectron 表格.这很好用,但我正在try 通过脚本插入一个VLOOKUP.公式将写入单元格,但EXCEL不对其求值.Excel设置为自动计算公式.当我打开文件时,如果我激活公式栏并点击绿色的勾号,公式就会运行,我就会得到预期的结果.我想知道我的python代码中是否遗漏了什么.还使用了OpenPYXL来创建工作簿.任何帮助都将不胜感激!

for row in range(2, wrkbook.active.max_row + 1):
    wrkbook.active[f'B{row}'].value = f'=VLOOKUP(A{row},Table1,2,FALSE)'

当我打开xlsx文件时,显示#NAME错误.

公式栏内容:=VLOOKUP(A2,表1,2,FALSE)

当我打开文件时,如果我激活公式栏并点击绿色的勾号,公式就会运行,我就会得到预期的结果.

推荐答案

Openpyxl编辑组成Excel xlsx文件的XML文件.它不能计算公式,也不能影响Excel在打开文件时处理公式的方式或内容.因此,如果打开文件时的结果是公式显示#NAME?,则Openpyxl对此无能为力.
您可以 Select 在工作簿/工作表打开时刷新单元格.
再说一次,Openpyxl在这里不能做任何事情,因为它与Excel没有交互.它无法通知Excel在打开时刷新区域.
但是,您可以使用利用Excel的模块打开工作簿并刷新单元格,这将解决您的问题.这是像Xlwings这样的模块可以为您做的事情.同时需要注意的是,Xlwings也可以是105.如果您在Xlwing中完成了这些步骤(或至少使用它来输入公式),当您在Excel中打开工作簿时,应该计算公式,因此不需要刷新,也就是说,如果您要使用Xlwing进行刷新,您也可以使用它来写入所有数据,从而从一开始就避免这个问题.

Python相关问答推荐

想要使用Polars groupby_Dynamic来缩减时间序列收件箱(包括空垃圾箱)

CustomTKinter-向表单添加额外的输入字段

当值是一个integer时,在Python中使用JMESPath来验证字典中的值(例如:1)

使用matplotlib pcolormesh,如何停止从一行绘制的磁贴连接到上下行?

如何使用矩阵在sklearn中同时对每个列执行matthews_corrcoef?

Python中MongoDB的BSON时间戳

运行回文查找器代码时发生错误:[类型错误:builtin_index_or_system对象不可订阅]

. str.替换pandas.series的方法未按预期工作

海运图:调整行和列标签

数据抓取失败:寻求帮助

将9个3x3矩阵按特定顺序排列成9x9矩阵

组/群集按字符串中的子字符串或子字符串中的字符串轮询数据框

使用密钥字典重新配置嵌套字典密钥名

如何指定列数据类型

Tkinter菜单自发添加额外项目

dask无groupby(ddf. agg([min,max])?''''

重置PD帧中的值

Pandas—MultiIndex Resample—我不想丢失其他索引的信息´

如何强制向量中的特定元素在Gekko中处于优化解决方案中

如何获得3D点的平移和旋转,给定的点已经旋转?