我正在制作一个程序,该程序从包含有关价格详细信息的单元格中提取文本,并从包含有关价格信息的单元格中提取文本 excel 文件,然后比较它们。我成功地用 apache poi 提取了它们,但我不知道如何从包含有关价格详细信息的单元格中计算文本。这些文本有一些模式如下。\3,000*641存款(\10,000*105)牛肉(\20,900*3) + 可乐1.25L(\3,000*2)鸡肉(\22,900*3) - 折扣(\39,400)我认为有人会推荐在 apache poi 中使用公式评估。不幸的是,包含有关价格详细信息的单元格类型不是FORMULA 而是 STRING。我希望你能给我一些计算那些格式化文本的代码!
1 回答
慕田峪4524236
TA贡献1875条经验 获得超5个赞
如果您可以提取表达式并将它们格式化以删除逗号等(即.replace(",", "")),那么您可以在 a 中运行代码ScriptEngine以自动解析和执行表达式。
ScriptEngineManager factory = new ScriptEngineManager();
// create a JavaScript engine
ScriptEngine engine = factory.getEngineByName("JavaScript");
// evaluate JavaScript code from String
Object x = engine.eval("100 * 3");
根据您传递给 eval 方法的字符串,它将返回什么样的对象。
添加回答
举报
0/150
提交
取消