问题标签 [apache-poi-4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
69 浏览

java - 如何使用 java 中的 Apache poi 读取从 Internet 下载的受保护视图中的 .xlsx 文件?

我需要从某个网站下载 .XLSX 文件并将其放在 Java 服务器上,然后使用 Java 代码读取该文件。但无法读取从互联网下载的 java 中的 .XLSX 文件,因为文件处于受保护的视图中?我正在使用 poi 4.1。

0 投票
1 回答
293 浏览

kotlin - Apache POI 将单元格评估为 ErrorEval [#REF!],但结果工作簿没有任何 #REF!错误

在评估工作簿中的单元格时,我看到了异常错误。对于上下文,POI 用于使用定义的名称将值输入到 Excel 工作簿中。Excel 然后接受输入并进行各种计算和查找以计算一组输出量,根据它对应的美国州的不同,处理方式不同。我看到的问题是,当评估一组特定的工作表时(我们将在此上下文中使用佛罗里达州),它们的单元格评估为org.apache.poi.ss.formula.eval.ErrorEval [#REF!],从而破坏所有输出值。通常,当我得到不正确的输出时,我可以通过在插入所有输入后保存电子表格来快速找到它们,评估工作簿(使用evaluateAll()),然后将更新的“调试器”版本保存到我的本地计算机。然而,这个问题是,当我检查更新版本时,我的输出量似乎已成功计算,我没有看到任何 #RREF!工作簿中任何地方的错误。

使用各种输入值组合,这表明仅指向一组特定的工作表会导致错误。

更改从 FormulaEvaluatorsevaluateFormulaCell(cell)函数评估工作表的方式,然后在将 cellValue 作为字符串返回的开关中解析响应,以简单地使用evaluateAll().

删除所有指向工作簿的外部链接,并删除潜在麻烦工作表上的条件格式。

启用 POI 日志以尝试查找问题的根本原因。

clearAllCachedResultValues()在执行评估之前使用 FormulaEvaluator 清除缓存的值。

最后确保没有任何电子表格包含任何不受支持的 POI 公式与 FunctionEvalgetSupportedFunctionNames()getNotSupportedFunctionNames().

这些是显示 ErrorEval[#REF!] 问题的第一个 POI 日志。

此外,这也是当前评估电子表格的方式。

预期结果是调试器工作表中输出单元格上的值,但结果中的输出值为 0 或 23。调试器电子表格不包含任何 #REF!在使用输入处理并由 POI 评估后出现错误,而是显示我通常期望的有效值。

更新:还尝试将评估更改为evaluator.evaluate(cell).cellType在 switch 语句中使用,现在调试器电子表格显示#REF!到处; 但是,查看 excel 中的所有错误并不能真正帮助指出其根本原因。手动输入值时,电子表格也会正确计算。

0 投票
0 回答
900 浏览

apache-poi - 如何将 Apache POI 导入到我的 IntelliJ Idea 项目中?

我在将 Apache POI 导入 IntelliJ 时遇到问题。

我采取的步骤:

  1. 在https://poi.apache.org/download.html的 Source Distribution 下下载 zip 文件

  2. 点击 File -> Project Structure -> Add New Project Library 并添加在步骤 1 中下载的 zip 文件目录。

  3. 尝试在我的主类中导入 apache

我试过导入 org.apache.poi

我收到的错误消息是如果 poi 被忽略,Java 无法解析符号“poi”或“apache”。

0 投票
2 回答
1873 浏览

java - 如何解决“我们发现 'abc.xlsm' 中的某些内容存在问题。您希望我们尽可能多地恢复吗?

我的代码中有以下方法 ( createAdditionalSheetsInExcel),它尝试为特定场景 ( runOutputNumber > 1) 创建额外的工作表。它最终创建了一个 excel,但问题是当您尝试打开 excel 时,您最终会收到以下错误:

java代码中workBookObj.cloneSheet(index,sheetName)没有引发错误,但是当我尝试打开excel文件时,出现以下错误:

我试图删除工作表中表格的格式,然后错误消失。所以肯定是和sheet里面表格的格式有关。

excel尝试打开时出错:

我们发现“abc.xlsm”中的某些内容存在问题。你想尽可能多地恢复吗?如果您信任此工作簿的来源,请单击“是”。

错误:打开excel文件后:

修复的记录:来自 /xl/tables/table1.xml 部分的表(表)

0 投票
1 回答
3175 浏览

java - 如何使用 Apache POI 创建链接到长 url 的 excel 超链接

Excel 的超链接大小限制为 255

现在我正在使用 Apache POI 以编程方式填写 excel,但使用 s3 预签名的 url,该 url 比 255 个字符长得多,长度为 1350+。

当我单击在 excel 中创建的超链接时,它显示如下警报:“发生意外错误。”

这是我的相应代码:

0 投票
2 回答
506 浏览

android-studio-3.0 - 使用 Apache POI 时如何修复 Android Studio 中的 Java 编译器错误

我正在使用 Java 编码在 Android Studio 中开发一个 Android 应用程序。在这个应用程序中,当用户单击一个按钮时,一个 Excel 文件会与一些数据一起保存在外部存储中。

为此,我使用的是 Apache POI 4.1.0。我已经在依赖项中添加了这个,但是当我运行应用程序时,错误如下

错误:仅从 Android O 开始支持 MethodHandle.invoke 和 MethodHandle.invokeExact (--min-api 26)

0 投票
1 回答
1170 浏览

java - 如何在 docx 文档中创建复选框和输入文本字段?

我是 apache poi 的新手,谁能帮我在 docx 文档中创建复选框和可填写字段(纯文本、富文本)?我看到了 docx 的 xml 表示,我认为这是元素描述复选框

并且 xml 元素描述输入文本:

但这是如何从 apache poi 获得或创建相同的?

0 投票
0 回答
264 浏览

java - 如何获取文档中 boby 元素的坐标?

我有一个由一些段落组成的 docx 文档,我必须从文档的左上角获取这些元素的坐标 (x, y)。
我发现这样的事情:

我怎样才能得到这些信息?我在网上找不到它。
感谢帮助!

0 投票
0 回答
80 浏览

java - 使用 Apache POI 将单元格从 XLSM 文件复制到另一个 XLSM

我尝试将单元格值从工作表复制到另一个文件的工作表Apache POI。两个XLSM文件具有相同的列,但顺序不同。我初始化第一个文件如下:

之后我在这个文件中设置了一些单元格:

第二个文件,我需要从中将值复制到第一个文件:

有一个标志,在这种情况下设置为 1,因此满足条件。我正在寻找以前的值,它属于同一个文件,所以需要复制到第一个。

执行成功,用新值修改文件,但没有将任何内容复制到第一个文件。

0 投票
1 回答
224 浏览

java - 我正在使用 POI 4.1.0 版本。使用 shiftRows() 时,excel 文件已损坏

它没有给出任何编译错误或运行时错误,但我正在处理的 excel 文件正在损坏。

打开文件时显示此消息-

在 Excel 中打开时出错:

删除记录:来自 /xl/worksheets/sheet1.xml 部分的单元格信息

那么任何可用的错误修复或我应该做什么?