评估公式并从单元格中删除公式(Evaluate formula and remove formula from cell)

我想评估公式并从单元格中删除保留其值的公式。 如何使用Apache POI完成此操作?

下面是我的代码,我评估所有的公式。

FormulaEvaluator evaluator = template.getCreationHelper().createFormulaEvaluator();

int sheetCount = template.getNumberOfSheets();

for(int sheetIndex = 0; sheetIndex < sheetCount; sheetIndex ++) {

sheet = dfaTemplate.getSheetAt(sheetIndex);

for (Row r : sheet) {

for (Cell c : r) {

if (c.getCellType() == Cell.CELL_TYPE_FORMULA) {

evaluator.evaluateFormulaCell(c);

}

}

}

}

I want to evaluate formula and the remove the formula from the cell keeping its values. How can this be done using Apache POI ?

Below is my code where I evaluate all the formulas.

FormulaEvaluator evaluator = template.getCreationHelper().createFormulaEvaluator();

int sheetCount = template.getNumberOfSheets();

for(int sheetIndex = 0; sheetIndex < sheetCount; sheetIndex ++) {

sheet = dfaTemplate.getSheetAt(sheetIndex);

for (Row r : sheet) {

for (Cell c : r) {

if (c.getCellType() == Cell.CELL_TYPE_FORMULA) {

evaluator.evaluateFormulaCell(c);

}

}

}

}

原文:https://stackoverflow.com/questions/37276384

2019-12-11 10:29

满意答案

您应该使用evaluator.evaluateInCell(cell)而不是evaluator.evaluateFormulaCell(c) 。 如果单元格包含公式,则evaluateInCell将计算公式,并将公式结果放回单元格中,代替旧公式。

You should use evaluator.evaluateInCell(cell) instead of evaluator.evaluateFormulaCell(c). If the cell contains a formula, evaluateInCell evaluates the formula, and puts the formula result back into the cell, in place of the old formula.

相关问答

循环并将公式放入单元格公式中。 这里的字符串是固定的。 commandstring = "{=INDEX(" & firstArgument & ",MATCH(1,(" & secondArgument & "=" & condition1 & ")*(" & thirdArgument & "=" & condition2 & ")*(" & patid1 & "=" & condition3 & "),0))}"

Dim lRow As Long

Dim ws As Excel.Wor...

就我所知,无法从公式中引用单元格。 数学公式编辑器不了解OO Calc。 但是,您可以根据需要使用宏创建新公式。 按照以下步骤使其工作: 把你想插入到单元格的数学公式。 例如,将一些数字放到单元格A1,A2,A3,并将以下内容放到单元格C3中: =CONCATENATE("{";A1;"}";"over {";A2;" `+` ";A3;"}";" `=` ";A4).

这会在C3中产生类似于{1} over {2 `+` 3} `= 从下面的代码创建一个宏。 在OO Calc中,选择 Tool...

使用间接功能 : 如果放置地址“Test!C:C”列的单元格为A1,则使用: =INDIRECT(A1)

如果工作表从未更改过,您只想引用该列。 所以在A1你只想放“C”: =INDIRECT("Test!" & A1 & ":" & A1)

间接允许您输入一个字符串,然后将其用作参考。 INDIRECT()函数有一个主要的缺点,它是不稳定的。 这意味着它将在每次excel计算时计算,而不仅仅是在参考单元格改变时。 因此,根据公式的数量,它将减慢计算时间。 Use the Indirect F...

错误可能来自您当前的数据,分别来自工作表的布局。 我建议你在分配公式之前检查listO.Range(i, j).FormulaR1C1的内容。 我遇到了范围内已经有错误数据的情况,然后奇怪的是,我不知道为什么,我不能指定新的公式。 如果是这种情况 - 尝试清除范围的值,然后分配公式: listO.Range(i, j).FormulaR1C1 = ""

listO.Range(i, j).FormulaR1C1 = FormulaMatrix(i, j)

The error might be c...

您应该使用evaluator.evaluateInCell(cell)而不是evaluator.evaluateFormulaCell(c) 。 如果单元格包含公式,则evaluateInCell将计算公式,并将公式结果放回单元格中,代替旧公式。 有关详细信息,请参阅evaluator.evaluateInCell(cell) 。 You should use evaluator.evaluateInCell(cell) instead of evaluator.evaluateFormulaCe...

像这样的东西,其中包括公式存在的测试 If Range("A5").HasFormula Then Range("A5").Formula = Range("A5").Formula & "+1"

更新:要做到这一点很快,大量的细胞选择自动更新公式,你应该使用变体数组 更改strAdd = "+1"作为后缀追加 'Press Alt + F11 to open the Visual Basic Editor (VBE)

'From the Menu, choose Insert-Module.

...

在Column C输入此公式, =IF(OR(AND(A1="ABC",B1<100),AND(A1="DEF",B1<150),AND(A1="GHI",B1<200)),"Pass","Fail")

Enter this formula in Column C, =IF(OR(AND(A1="ABC",B1<100),AND(A1="DEF",B1<150),AND(A1="GHI",B1<200)),"Pass","Fail")

您可以使用总和公式,并用逗号分隔所有公式以添加每个等式: =Sum((J11-J10)*24, (J13-J12)*24, nextformula, nextformula, etc.)

You could use a sum formula and have all your formulas separated by commas to add each equation: =Sum((J11-J10)*24, (J13-J12)*24, nextformula, nextformula, ...

我有一些你可以玩的几乎正常工作的代码。 只要单个单元格在公式中,它就会起作用 - 因此它不适用于A1:C1但不适用于A1,B1,C1 - 所以没有VLOOKUPS或MATCH。 只是简单的公式。 代码的主要部分归功于Bill Manville。 有一个Stackoverflow链接: 在Excel和Excel中通过VBA的第一层先例单元格的地址 原始代码的几个链接: http://www.vbaexpress.com/forum/showthread.php?19348-Solved-Splitt...

谷歌应用程序脚本函数getFormula()可能会得心应手: getFormula() 输出。 串 返回范围左上角单元格的公式(A1表示法),如果单元格为空或不包含公式,则返回空字符串。 请尝试: if (range.getFormula().substring(0, 1) === '='

{

// there is a formula

}

substring(0,1)获取左符号: https://www.w3schools.com/jsref/jsref_substring.asp goo...

相关文章

我们现有的Hadoop集群已经运行了一段时间了 由于集群中的服务器分布在2个不同的机房,受跨机房带宽的

...

cell.setHyperlink(link)

好吧..先看图~ 图一, 初始化的值, 是显示的汉字"是" 图二, 正在编

...

在行内有三列,一列:出库数量,一列:成本单价,一列为:成本金额。 我在行内改了出库数量,怎么把计算的

...

setCellValue(boolean value)设置单元格一个布尔值

怎样用jxl解析多级表头的excel文件,确定某个单元格cell对应的标题?

原创:用VBA实现将鼠标选择的单元格按照指定格式合并并复制到剪切板 一、主要实现以下功能: 1、用鼠标

...

<table> 表格: cellspacing: 外边距 => 单元格和

...

最新问答

更新:从1.4开始,Spring Boot支持Thymeleaf 3,但版本2仍然是默认设置。 有关如何使用Thymeleaf 3的详细信息,请参阅文档 。 Spring Boot 1.3及更早版本不支持Thymeleaf 3.您需要为Thymeleaf禁用Boot的自动配置并手动配置它。 您可以使用@SpringBootApplication上的exclude属性禁用自动配置: @SpringBootApplication(exclude=org.springframework.boot.au

不,这是不可能的。 您从GCM获得的注册ID与特定设备上的应用程序相关联。 如果您尝试从服务器执行注册,GCM如何知道识别注册ID所绑定的设备? No, it's not possible. The Registration ID that you get from GCM is tied to an application on a specific device. If you would try to perform the registration from the server, ho

是的,当使用kafka-topics.sh工具删除主题时,您可以使用类似于正则表达式的表达式: 例如,要删除以giorgos-开头的所有主题: ./bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic giorgos-.* 使用管理API,您也可以一次删除多个主题,请参阅AdminClient.deleteTopics Yes you can use regex-like expressions when deletin

摆脱“classpath”前缀: .getBundle("/properties/custom") “classpath”前缀不是一个标准,它是由一些像spring这样的框架定义的。 Get rid of the "classpath" prefix.: .getBundle("/properties/custom") The "classpath" prefix is not a standard, it is defined by some frameworks like spring.

溢出:隐藏。 在下面的CSS中添加: #block-brainstorm-theme-main-menu 一旦你从这里删除溢出属性,并删除显示:无。 从 #block-brainstorm-theme-main-menu ul ul 子菜单将显示。 但是你必须在css和js上进行适当的外观和感觉。 相反,我建议为此使用一些jquery.Also也可以使用像Nice菜单或Superfish菜单一样的模块。 让我知道我是否可以帮助你。 Overflow: hidden. is added in

1)您在java进程中看到的变量是从您启动java进程的进程继承的变量。 即,如果从shell启动它,它应该具有与shell相同的变量。 您需要在启动Java应用程序之前调查实际设置的变量,以及为什么未在该上下文中设置您期望的变量。 要回答第2部分,是的,将在ProcessBuilder.environment()使用环境启动该过程。 您可以简单地将事物添加到ProcessBuilder.environment()返回的映射中,这将扩展运行时环境: ProcessBuilder pb = new

(('sssss',), ('root',)) 和 ('sssss', 'root') 表示的东西不一样。 'sssss', 有逗号表示的是 tuple, 而'sssss'只是字符串,所以(('sssss',), ('root',)) 是tuple 组成的tuple,('sssss', 'root') 是字符串组成的tuple。 (('sssss',), ('root',)) 转成 (('sssss'), ('root')) t=(('sssss',), ('root',)) result=(j

箱形图不绘制均值或方差。 您实际上需要完整的排名数据来绘制正确的箱线图,因为数量是中位数,四分位数和1.5倍IRQ内的关闭数据点的实际值加上超出该范围的所有数据点(异常值)。 对于大型数据集来说,这通常不是一个好主意(因为根据定义,您有数百万个异常值)。 也就是说,您可以按照您想要的方式生成基本摘要,并使用bxp绘制它们 - 请参阅R中的?bxp 。如果不是上述内容,请确保说明您正在绘制的数量。 Boxplots do not plot mean or variance. You actuall

看起来hadoop正在使用jets3t库进行S3访问。 您可以使用此博客中描述的配置来访问eucalyptus,但请注意,对于版本4,路径为“/ services / objectstorage”而不是“/ services / Walrus”。 It looks like hadoop is using the jets3t library for S3 access. You might be able to use the configuration described in this b

您所看到的是内存泄漏 - AsyncTask保留对其声明的Activity的引用,并阻止Android运行时垃圾收集它。 回答你的问题: 无法使用命令停止AsyncTask。 您可以请求在onDestroy()中取消它,但它仍然只在执行了doInBackground()方法后执行,在您的情况下将是Runnable。 您可以选择使用静态嵌套的AsyncTask,它不会保存对它所驻留的Activity的引用 - 需要注意的是,您将无法从Activity中引用任何内容,但这对您的案例来说不应该是一个大

如何取消计算机上的公式,评估公式并从单元格中删除公式(Evaluate formula and remove formula from cell)...相关推荐

  1. Python在Excel单元格中写入公式

    场景:需要按照固定格式提取数据库中数据到excel中,因统计的内容过多,为减少数据库统计动作,对于需要二次加工的数据在Excel单元格中使用公式完成计算: 分析:从数据库提取数据,使用常规方法写入公式 ...

  2. java 单元格内容加粗,excle单元格如何加粗《EXCEL中怎么对单元格中,公式的部分字段加粗?》...

    问下EXCEL表格分割线怎么加粗 单元格样式设置包含分割线加粗. Excel表格单元格线样式操作如下: ①框选单元格--右击--设置单元格 ②弹出"设置单元格式"--边框--根据实 ...

  3. 在合并单元格中数组公式无效_Excel合并单元格查找,公式没错,结果为0,你知道这是什么原因吗...

    如果说你能够熟练运用Excel函数中的查询家族,可以说大多数的问题你都可以解决了.但很多情况下,我们会遇到脑壳疼的问题,比如你看看下面的例子. 下图中,需要在右边的表格中通过E列的机型查找其对应的品牌 ...

  4. 在合并单元格中数组公式无效_Excel中合并单元格困扰多年的难题,终于被我搞定了...

    Excel表格中如果存在合并单元格,经常会遇到一些问题,比如序号填充.数据统计或筛选等,如下图所示,需要根据指定人员姓名查找引用对应的销售部门和销售金额. 这个问题关键在于销售部门列存在合并单元格,如 ...

  5. 在合并单元格中数组公式无效_合并单元格无法快速填充序号怎么办?

    图/文 龚春光 快速填充大家都会使用,如果我们需要填充序号只要把鼠标放在单元格有下角双击填充柄后选择序列填充就可以完成.但是不知道大家在工作中是否遇到这样的困惑,大小不相同的合并单元格没有办法进行快速 ...

  6. python自动填写excel_Python:根据前面单元格中的公式自动填充Excel中的单元格

    使用Python和win32com: 我在Excel文件中有一个公式,在单元格A5:A54.我试着用同样公式的值填充A55:A61单元格.我在网上搜索发现: http://pythonexcels.c ...

  7. excel统计求和:如何在合并后的单元格中复制求和公式

    如下图所示,左边表格,展示了每个物品品类的销售数据,现在,我们在表中新增一列合并单元格,需要根据行业将每个品类的明细销售额汇总,并展示在合并单元格中,如右边表格中,浅红色填充的部分所示. 注:以上数据 ...

  8. asp.net mvc excel合并单元格_excel统计求和:如何在合并后的单元格中复制求和公式...

    编按:哈喽,大家好!又到了一年一度的双十一购物狂欢节,小伙伴们有没有蠢蠢欲动呢?钱包都准备好了吗!这个双十一,大家都盯上了哪些好物呢?哪类产品的开销又会成为你贡献双十一销售额的主力军呢?赶紧在exce ...

  9. 【Excel】用公式提取Excel单元格中的汉字

    昨天一个前端的朋友找我帮忙用excel提取代码中的汉字(字符串),可算费了劲儿了,他要提取的内容均在单引号中,但问题是没有统一的规律,同一个单元格可能存在多个要提取的内容,而且汉字中间也夹杂其他字符. ...

  10. 在单元格中进行Excel换行的两种方法和取消换行符的方法

    我想打破Excel中的字符串! 如何破坏单元格中的字符串? 如果要将输入的文本换行到Excel单元格,有时会看到键入大量空间并强行提供行的情况,但效率非常低.让我们来看看如何做一个整洁的细胞休息. 如 ...

最新文章

  1. UI培训教程分享:UI设计如何确定设计风格
  2. linux文件上传,给文件或目录添加apache权限
  3. struts2 ajax请求发现执行action两次原因
  4. 全排列—leetcode46
  5. C++ 序列化 serialization 如何将类持久化?
  6. 您的第一个Lagom服务– Java Microservices入门
  7. vc 6.0 显示文件全路径_配送路径规划思考(十二)
  8. 前端学习(2624):state
  9. php获取当地时间 time zone
  10. C#设计模式之19-观察者模式
  11. 【翻译自mos文章】11gR2中的asm后台进程
  12. WCF Transaction
  13. OneHotEncoder简单用法
  14. IOS - Swift高德地图自定义标注、气泡
  15. c++写一个函数验证哥德巴赫猜想
  16. 物种多样性学习 之Alpha多样性
  17. 多臂赌博机问题代码实践
  18. 每日算法----929. 独特的电子邮件地址----2022/06/04
  19. zw黑天鹅足彩实盘测试5月数据包
  20. 手机GPU性能评估指标

热门文章

  1. 鸿蒙系统官网电脑版,华为鸿蒙pc系统
  2. SAP HANA SDA实战
  3. 课堂派考完直接看成绩怎么说(已被修复)
  4. 修改db_files
  5. X-Frame-Options响应头配置详解
  6. PHP连接SQL SERVER 数据库 PHP连接MYSQL数据库并解决中文乱码问题。
  7. 如何在 5 分钟内成为游戏引擎的行家
  8. SQL增删改查知识点总结
  9. java对七牛云文件的增删改查语句_七牛云导播
  10. 飞机客运售票系统oracle分析,民航机场售票管理系统.doc