Excel 导出模板中有公式不能进行计算
Excel 导出的模板中有 A,B,C 三列。其中 C=A+B 公式相加。
在 Excel 的数据导入到模板的时候,数字被转为文本。这个公式不能被立即运行。需要手动方式将导出的 A,B 列 转为数字之后,然后才能自动公式生效。
疑问
是否可以导出 A 与 B 列之后,C 列能被立即计算
"Excel 导出的模板中有 A,B,C 三列。其中 C=A+B 公式相加。 在 Excel 的数据导入到模板的时候,数字被转为文本。这个公式不能被立即运行。需要手动方式将导出的 A,B 列 转 .."
Excel 导出的模板中有 A,B,C 三列。其中 C=A+B 公式相加。
在 Excel 的数据导入到模板的时候,数字被转为文本。这个公式不能被立即运行。需要手动方式将导出的 A,B 列 转为数字之后,然后才能自动公式生效。
疑问
是否可以导出 A 与 B 列之后,C 列能被立即计算
这个我估计 10 有 89 不行,模板里设置了公式,模板里的公式显示为 0 或者其它,xlswrite 之后,输出的 xlsx 在公式处是不会自动计算的。
两种方法:
1、输出结果 xlsx 文件打开后,数据区域查找替换,替换 = 为 =,这样就会算了。这个显然是不怎么好的方法。
2、重设模板,spl 本就强于计算,所有东西用 spl 算好之后再一次性输出。模板就是最终呈现,不要去 excel 里计算,如果一万个单元格里设置了公式,要计算一万次。
以上 my two cents,仅供参考。
Excel 的公式它只能它自己算,外部程序只知道 OpenXML 的格式写出格子的内容,不可能有本事执行 Excel 的计算式(你这里只有加法,谁知道表达式里是不是有 Excel 自己的函数,别人是不可能会算的)。
这个只能自己写个 VBA 来在打开 xls 时触发它计算。
数字被转成文本,这在正常情况不会发生,如果有这种情况,可以再把代码和 XLS 发上来看看