当前位置: 首页 > 知识库问答 >
问题:

java - 如何批量替换表格中的公式呢?

钦高峯
2023-11-27

我遇到一个问题,下图只是一个例子,我有大量的公式如 =Max(1,2,3)。我要替换成的新公式包含了新的参数。我在替换时,无法分几步替换,当我替换时,公式如果没写对,Excel会报错,如下图所示。

image.png

共有2个答案

郑松
2023-11-27

主要是替换时,Excel会校验公式。有一个取巧的办法,可以先把 = 替换为一个特定的,从没有出现的字符串。这样Excel就不会校验公式了。之后再分布把公式替换好,最后把特定的字符串换回成为 =。
如果你不介意写代码,可以试试Excel组件库,例如GcExcel,有直接可用的API进行替换,用组件库的话,可以匹配自动化的场景,可以结合自己实际的场景来取舍。
查找和替换 - GcExcel 中文文档Java版 | 服务端高性能表格组件 - 葡萄城

令狐宏浚
2023-11-27

方案1:
先替换一个,把公式写对了再替换全部,我知道你不喜欢这个方案,但还是推荐这么做。
方案2:
先把等号替换掉,就是变成值
image.png
调试...,只要没有等号爱写啥写啥,不会触发校验:
image.png
调试好,再变成公式:
image.png
结果:
image.png

 类似资料:
  • 问题内容: 有哪些工具可将OpenOffice或Excel电子表格(及其所有公式)转换为可在运行时调用的Java对象? 显然,这只会构成一个计算引擎,而只是数字和文本,而不是计时或API调用。 即使使用命名的单元格范围来(有效)命名变量,输出代码也可能难以理解。需要进行重构以使其更像普通的Java代码。但是,我认为这对原型某些数据处理类型的作业非常有用。或用于嵌入一些由高级Excel用户维护的计算

  • 问题内容: PublicKey.getEncoded(),返回一个包含SubjectPublicKeyInfo(x.509)格式的公共密钥的字节数组,如何将其转换为RSA公共密钥编码? 问题答案: 使用Bouncy Castle’s ,如下所示:

  • 我希望输出保持xml元素数据中的空格不变,如下所示:

  • 本文向大家介绍Java 替换空格,包括了Java 替换空格的使用技巧和注意事项,需要的朋友参考一下 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 以下是java.lang.StringBuilder.replace()方法的声明 public StringBuilder replace(i

  • 问题内容: 我有这个字符串: 现在,我想在每个数字之前添加String num:。 因此结果必须是: 这也必须工作: 用于搜索数字的正则表达式是:[0-9]+ 但是我想用num:+ [匹配的子字符串]替换匹配的子字符串。 我现在写了一个带有数字的示例,但另一个示例可以是:在每个电子邮件地址之前添加 ·Email found·: 问题答案: 利用分组。您可以使用括号(并)定义组,并通过组索引$n在哪

  • 这很好用。 如果我直接在表达式转换器中写入#message.payload.getDataArea().getCustomerPartyMaster().get(0)]“,它会像预期的那样工作,但我希望它是泛型的。有什么方法可以做到吗? 添加错误日志。 消息:未能找到组件的入口点,以下解析器尝试但失败:[ReflectionEntryPointResolver:在对象“com.efi.radius