首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jxls -如何消除excel电子表格中的"#value“?

Jxls -如何消除excel电子表格中的"#value“?
EN

Stack Overflow用户
提问于 2013-05-18 03:08:28
回答 2查看 834关注 0票数 0

我使用基于POI的Jxls库来生成电子表格,其中包含引用其他工作表的宏。当公式引用一个空变量,并且显示"#VALUE“而不只是一个空白时,我遇到了一个问题。

例如,“原始”工作表(称为worksheetA)可以使用Jxls变量正确填充。例如,我将其放入单元格A2中

代码语言:javascript
运行
复制
${employee.salary}

上面引用的是一个集合,因此如果有10个雇员,那么在生成的worksheetA中将出现10行。请注意,就模板而言,集合的大小是未知的,但如果需要,我可以使用生成电子表格的java类来检索它。

代码语言:javascript
运行
复制
$[worksheetA!A2]

正确计算了worksheeB的前10行。但是,剩下的10行显示"#VALUE",因为没有对应的员工(即只有10名员工)。

这是一种扭曲的解释,但基本上,一个引用Jxls集合填充的单元格以外的单元格的公式会返回"#VALUE“,我想去掉它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-30 10:54:02

问题在于,${employee.salary}在电子表格上扩展为多行,具体取决于集合中的项数。Excel将其视为插入,因此以前指向前10行的任何公式现在都将指向第11行及以后的行。我希望它们保持指向1到10行(或1到n行),所以我的变通办法是将数据插入到公式未引用的工作表中,然后自动运行宏,该宏将这些工作表复制到宏所引用的工作表中,从而避免插入。

票数 0
EN

Stack Overflow用户

发布于 2013-05-18 03:10:40

您可以始终使用=IFERROR(a,b)修饰公式,其中a是原始公式(或值),b是您希望在a为#VALUE时显示的内容

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16616249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档