问题标签 [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 回答
807 浏览

version - Apache POI 3.9 有哪些新变化?3.9 中的内存泄漏问题?

在 Apache POI 3.9 版本中,他们告诉内存泄漏和创建临时文件是固定的(错误:53493)。但是怎么用呢?与 3.8 相比,3.9 版本中的导入包有什么变化吗?如果发生了变化,那么它们是什么?

0 投票
0 回答
704 浏览

memory-leaks - Apache POI 3.9 版本中的内存泄漏问题

我使用 Apache POI 创建 .xlsx 文件。我尝试使用 POI 3.8 版本,但它存在内存泄漏问题(它会创建临时文件并花费大量时间来创建 excel 文件)。现在我使用的是 POI 3.9 版本,但它也显示了与 3.8 版本相同的内存泄漏问题。我试图从数据库中检索 10000 条记录并创建 Excel 文件,创建文件大约需要一个小时的时间。**

3.9 版本中是否有任何新功能或新软件包可用于解决内存泄漏问题?

0 投票
1 回答
64942 浏览

java - 在 apache POI (Excel) 中自动换行

我有一个 java 程序,它将标头和数据作为输入并生成一个 excel 文件。

但是,有时当标题值很长并且列数更多时,我的 Excel 工作表往往会变得不必要地宽。

由于标题,我将不得不向下滚动以查看尾端列的内容。

有没有办法可以解决这个问题,如果单元格中的内容大于值 x,则自动换行并自动调整行高并固定列宽。

我正在寻找的粗略算法是:

如果有人可以向我指出一些在线可用的示例。

谢谢阅读!

0 投票
2 回答
427 浏览

java - XSSF 计数缺失行

我正在尝试编写一个读取 Excel 模板并在某个行索引处开始写入的函数。但是,我发现编号会跳过模板中的空白行。有没有办法在迭代期间计算空行?

我试图找到与缺少的单元格策略等效的行。我还尝试了这两种迭代方式:

两者似乎都忽略了空白行。这会导致问题,因为我的模板有空白行来分隔部分,这会导致行索引失效,并且我必须手动更正目标索引以执行诸如“从工作表中的第 5 行开始写入”之类的任务。

0 投票
0 回答
125 浏览

apache-poi - 缓存公式值的类型 - XSSF 事件

是否有一种简单的方法(即不评估公式)来检测缓存公式值的类型。以下是公式单元格元素的示例:

这里的类型应该是 STRING 而不是 NUMBER。

0 投票
1 回答
22512 浏览

java - 在 XSSF Apache POI 中将特定单元格宽度设置为列

我正在尝试使用 Apache POI XSSF 将表导出为 xlsx。表有 5 列。

第一行有合并 5 列的标题栏。在第二行,表格的 5 个标题。剩余的行是数据。我想将列的宽度设置为每个标题块的最大宽度。

我试过mySheet.autoSizeColumn(colnum)mySheet.setColumnWidth(columnIndex, width)。问题AutosizeColumn,它返回所有行中数据的最高宽度。因此,如果表格中某些数据的宽度更大,则表头宽度变得非常大。对于第二个setColumnWidth,我需要知道标题单元格的宽度,以便将其设置到工作表中。但是如何找到特定单元格的宽度?在弄清楚如何做这件事上还没有运气。关于如何做到这一点的任何想法?

0 投票
1 回答
4565 浏览

java - 使用 autoSizeColumn 时,列在 XSSF Apache POI 中被隐藏

我正在尝试使用 Apache POI XSSF 将表导出为 xlsx。该表有 5 列。

第一行有合并 5 列的标题栏。在第二行,表格的 5 个标题。剩余的行是数据。我想将列的宽度设置为每个标题块的最大宽度。

我添加了一个条件并在添加标题值时尝试了 mySheet.autoSizeColumn(colnum) ,以便列的宽度与标题数据相同。但是当我这样做时,所有列都隐藏在导出的 xlsx 表上。

这些是我使用的样式元素:

这是创建 xlsx 的代码块:

0 投票
3 回答
4999 浏览

xssf - 如何使用 POI 读取 .xsl 和 .xlsx?

我也尝试过 POI 版本 1.poi-src-3.9-20121203 和 2.poi-bin-3.10-beta2-20130904

但无法读取 .xls 文件出现以下错误“org.apache.poi.POIXMLException:org.apache.poi.openxml4j.exceptions.InvalidFormatException:包应包含内容类型部分 [M1.13]”

注意:我能够读取 .xlsx 文件。

0 投票
1 回答
7565 浏览

java - POI XSSF 是否仍然存在疯狂的坏内存问题?

几年前,我遇到了使用jXLS和创建大型 Excel 文件的问题POI XSSF。如果我的记忆是正确的,我认为XSSF会在磁盘上创建 1GB+ 的临时文件来创建 10mb 的 excel 文件。所以我停止使用jXLS,而是用来SXSSF创建 excel 文件,但今天我有新的理由使用jXLSor JETT

jXLS和网站似乎都JETT暗示性能要好得多,但POIXSSF网站仍然笼统地说XSSF需要更高的内存占用。我想知道现在这种更高的内存占用是否是合理的 10% 开销,或者它是否仍然像几年前那样的 10,000% 开销。

POI 3.9 修复了疯狂的坏记忆问题XSSF吗?我不应该担心将它与jXLSor一起使用JETT吗?还是有一些需要避免的陷阱?我很小心重用单元格样式。

0 投票
4 回答
14700 浏览

java - xssf 如何以字符串形式获取任何内容

我尝试使用 apache poi xssf 将 excel 文件解析为 XML。现在有了一个单元格,但不知道里面有什么,我只想从中取出一个字符串。但是当我使用

它抛出了一个异常,这并不令人惊讶,因为它是以这种方式记录的。所以我通过检查天气来解决这个问题,它是一个数字还是一个文本单元格。但是如何处理公式单元格。它们可能包含数字,例如

是什么给了我总和(例如 4)或对另一个文本的引用

什么可能指的是像“汉斯”这样的文字。

我怎样才能知道我的牢房里到底有什么,以及如何从中取出一个字符串?