问题标签 [xssf]

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 投票
1 回答
1776 浏览

excel - 如何通过 XSSF 事件 API 评估 excel 公式

我正在使用 Apache POI 的事件 API 读取 XLSX 文件,即我通过 SAX Parser 读取 XLSX 表的内容。我想知道如何使用 XSSF 事件 API 获取公式的计算值。

我知道这样做的方法是使用FormulaEvaluator类。但由于 formulaEvaluator 采用 Workbook 类的实例,我不想使用这种方法。(我正在阅读包含一百万行和 100 列的 Excel 文件,因此如果我创建该 Excel 的工作簿对象,我的应用服务器内存不足,因此我使用事件 API)

在没有 Workbook 实例的情况下,如何在事件解析中进行评估?

0 投票
8 回答
88109 浏览

java - Apache POI XSSF 读取 excel 文件

我只是有一个关于如何使用 Apache 的 XSSF 格式读取 xlsx 文件的快速问题。

现在我的代码如下所示:

...所有相关的东西都进口了。我的问题是,当我点击运行时,它卡在第 (2) 行,几乎是一个无限循环。filename只是一个字符串。

如果有人能给我一些关于如何解决这个问题的示例代码,我将不胜感激。我现在想要的只是从 xlsx 文件中读取单个单元格;我将 HSSF 用于 xls 文件并且没有问题。

谢谢你的帮助,安德鲁

0 投票
2 回答
6969 浏览

apache - 是否可以使用 Apache POI API 设置 XSSF 工作表的列宽?

我需要根据管理层提供的给定模式从我的应用程序中生成一个 MS Excel 2007+ 文件。大部分工作已经完成,但我必须将列宽设置为 11,34 厘米。我尝试使用该setColumnWidth(int columnIndex, int width)方法,但无论我提供的值如何,它都不起作用。JavaDoc 说:

设置宽度(以字符宽度的 1/256 为单位)

单个单元格的最大列宽为 255 个字符。此值表示可以在使用标准字体格式化的单元格中显示的字符数。

这该怎么做?

0 投票
1 回答
20934 浏览

apache-poi - Apache POI - 如何将 XSSFWorkbook 写入 POIFSFileSystem?

使用 Apache POI HSSF,我们可以像这样创建 xls 文件

同样,我该如何写XSSFWorkbook?这个没有getBytes()办法。
我试图ByteArrayInputStreamXSSFWorkbook这样创建 -

但是创建的 xlsx 文件已损坏。如何使用 将工作簿写入光盘POIFSFileSystem

当我这样做时,同样XSSFWorkbook成功地写了 -

当我提取并比较 xlsx 文件时,没有区别。但是,当我直接对 xlsx 文件进行纯文本比较(不提取)时,字节几乎没有差异。

createDocument()所以问题应该出writeFilesystem()POIFSFileSystem. 有人可以让我知道如何写XSSFWorkbookusingPOIFSFileSystem吗?

0 投票
2 回答
1438 浏览

hyperlink - 在 SXSSF 工作簿中使用 Apache POI 3.8-beta4 创建超链接时出现问题

使用 POI SXSSF 实现时,似乎未正确创建超链接单元。我已经从 HOW-TO 指南中获取了用于创建超链接的示例代码的精确副本,并将工作簿更改为 SXSSF 而不是 XSSF,并且超链接不再起作用。

有没有其他人看到这个问题或发现了解决方法?

谢谢,

标记。

0 投票
2 回答
14917 浏览

java - XSSF POI 是单元格日期

有没有办法确定单元格是否是日期?我知道 style.getDataFormatString() 但这对我没有帮助,因为我无法确定格式化是否适用于日期。

0 投票
3 回答
1403 浏览

java - 在文件之间克隆工作表

我有三个或更多的 Excel 文件,其中包含不同的工作表,我需要创建一个新的空白文件,并将该工作表的副本(或克隆)复制到新文件中,并将它们按我需要的顺序放置,以便我可以填写相应的表格与数据。

如何使用 Jakarta POI ( XSSFWorkbook) 做到这一点?

0 投票
3 回答
4099 浏览

java - 如何使用 Apache POI XSSF 创建从右到左对齐的工作表

我正在尝试使用 Apache POI 在 Excel 文件中创建一个工作表。

由于它是 Excel 2007,我正在使用 XSSF,并且正在寻找一种方法来使工作表从右到左对齐。

在 HSSF 中有一种方法org.apache.poi.hssf.usermodel.HSSFSheet.setRightToLeft(boolean),但我在org.apache.poi.xssf.usermodel.XSSFSheet.

我正在使用 Apache POI 3.7

0 投票
3 回答
2755 浏览

excel-2007 - POI 创建 XLSX 文件不完整或错误(XLSX XML 中的维度标签在创建后只读取 A1 而不是 A1:500Z)

我通过 apache POI 库编写 XLSX 文件。(我已经尝试使用 POI 3.8 beta1 到 beta 4)。当我尝试通过 Excel 2007 打开 XLSX 文件时,它给了我一个错误,即工作表包含不可读的内容,然后 excel 询问我是否应该修复它。

我的问题是我的程序生成一个 XLSX 文件,而另一个程序通过 POI 事件 API 读取它。当我通过事件 API 读取维度 XML 时,我发现它不是 A1:500Z(假设 excel 有 500 行和 26 列)它只读取 A1。我已经看到,只有当工作表为空时,工作表的尺寸才为 A1,但在我的情况下,工作表有 500 行数据。所以XLSX写代码有问题,导致维度设置不正确。(我认为这一定是excel抛出不可读内容错误的原因)。

我浏览了 POI 邮件列表,其中提到了这个不可读的内容错误,但无济于事。

XLSX 文件创建代码相当简单,所以我怀疑那里一定有什么问题,(并且这种错误行为只发生在要写入的工作表的数据大于 100 行的情况下)。

有没有人遇到过这样的问题?或者 POI 库本身有什么问题(他们的邮件列表确实显示不可读的内容错误)?

0 投票
1 回答
1897 浏览

excel - 仅使用 apache poi xssf eventmodel 读取 excel (.xlsx) 文件时出错

我正在尝试使用来自 apache 站点http://poi.apache.org/spreadsheet/how-to.html#xssf_sax_api的代码读取包含单词而不是数字数据的 excel 文件

我收到以下错误:

还有什么方法可以在不使用 xerces.jar 的情况下仅使用 poi xssf 事件模型读取 xlsx 文件?请告知是否有任何其他示例代码可用。