问题描述

之前用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表格里,公式就能够正确读取引用并自动计算啦。

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐