Openpyxl:Excel公式需要双击才能计算的问题解决方法

文章讲述了使用Python的Openpyxl库编写自动化脚本时遇到的问题,即写入Excel的数据显示为数值但公式未自动计算。作者检查了Excel的自动计算设置并尝试设置单元格格式,但问题依然存在。最终,通过在写入数据时将值转换为float格式,成功解决了公式无法自动计算的问题,确保了Excel表格保存后公式的正确运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

之前用Python的Openpyxl库写了一些自动化脚本,Review的时候发现了一个问题:

我往已有的模板里填写内容以后,打开Excel表格发现有些位置的公式是不会被自动计算的,必须双击一下公式引用的那个单元格才能让公式进行计算。

问题描述

问题分析

1.检查了Excel中的自动计算公式的设置,并无问题(网上99%推荐的都是这类回答…);
2.尝试在写入单元格内容以后,用 W_sheets[XXX][XXX].number_format去设置单元格的属性为数值,不过没有作用;

但是个人认为问题还是出在单元格内填写的内容格式问题上,虽然打开Excel以后它看起来像数值,但是有没有可能它实际在程序写入时不是作为数值写入的呢?

解决方案

在向指定单元格写入数据时,对原始数据进行数值转化,比如下面将值转为float格式。

 W_sheets[Sheet_number+15][My_loction] = float(Read_list[i][T_name_loc])

这样保存出来的Excel表格里,公式就能够正确读取引用并自动计算啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值