问题标签 [apache-poi]

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 投票
9 回答
39283 浏览

java - 使用java编写巨大的excel文件的API

我希望使用 Java 以编程方式写入 excel(.xls MS Excel 2003 格式)文件。excel 输出文件可能包含约 200,000 行,我计划将这些行拆分为多个工作表(每张工作表 64k 行,由于 excel 限制)。

我曾尝试使用 apache POI API,但由于 API 对象模型,它似乎是一个内存猪。我被迫将单元格/工作表添加到内存中的工作簿对象,并且只有在添加了所有数据后,我才能将工作簿写入文件!以下是 apache 建议我使用其 API 编写 excel 文件的示例:

显然,写入约 20k 行(每行大约 10-20 列)会给我带来可怕的“java.lang.OutOfMemoryError: Java heap space”。

我尝试使用 Xms 和 Xmx 参数作为 Xms512m 和 Xmx1024 增加 JVM 初始堆大小和最大堆大小。仍然无法将超过 150k 行写入文件。

我正在寻找一种流式传输到 excel 文件的方法,而不是在将整个文件写入内存之前将其构建到内存中,这有望节省大量内存使用。任何替代 API 或解决方案将不胜感激,但我仅限于使用 java。谢谢!:)

0 投票
2 回答
15663 浏览

docx - 如何使用 Apache POI 3.5 中新的 OOXML 支持从 DOCX 文件中提取纯文本?

2009 年 9 月 28 日,Apache POI 项目发布了 3.5 版,正式支持 Office 2007 中引入的 OOXML 格式,如 DOCX 和 XLSX。

请提供一个代码示例,用于以纯文本格式提取 DOCX 文件的内容,忽略任何样式或格式。

我问这个是因为我找不到任何涵盖新 OOXML 支持的 Apache POI 示例。

0 投票
8 回答
55565 浏览

java - 如何获取给定单元格的(Java Apache POI HSSF)背景颜色?

我有一个现有的 excel 电子表格,我正在从中访问和读取值,我正在使用 Apache POI HSSF。

它是这样初始化的:

我正在遍历工作表中存在的所有单元格,这会生成一个单元格对象:

请熟悉该框架的人解释如何创建一个 (HSSFColor) 对象来表示工作表中每个单元格的背景颜色。

非常感谢

编辑,更新

要清楚我想知道的是:如何为现有单元格的背景颜色创建/获取HSSFColor对象?

此代码仅返回一个短数字,而不是 HSSFColor 对象。感谢您到目前为止的答案。

0 投票
1 回答
9640 浏览

java - 将excel单元格文本转换为数字poi

我想使用 POI API 将单元格文本值转换为 Excel 中的数字。

单元格文本值(如“2,345”)转换为数字。

我怎样才能做到这一点。

如果有人遇到这个问题,请告诉我...

0 投票
2 回答
41400 浏览

java - 使用 POI API 在 Excel 中显示百分比值

我需要在格式为百分比的 excel 单元格中显示一个值,例如12.3%.

默认情况下,该值显示为文本,但我需要将其显示为数字。

实现这一目标的适当方法是什么?

0 投票
6 回答
14986 浏览

java - POI / Excel:以“相对”方式应用公式

我正在使用 Apache 的 POI 来使用 Java 操作 Excel (.xls) 文件。

我正在尝试创建一个新单元格,其内容是公式的结果,就好像用户复制/粘贴了公式一样(我称之为“相对”方式,与“绝对”相反)。

为了让自己更清楚,这里是一个简单的例子:

  • 单元格 A1 包含“1”,B1 包含“2”,A2 包含“3”,B2 包含“4”。
  • 单元格 A3 包含以下公式“=A1+B1”。

如果我将公式复制到excel下的A4单元格中,它变成"=A2+B2":excel正在动态调整公式的内容。

不幸的是,我无法以编程方式获得相同的结果。我找到的唯一解决方案是将公式标记化并自己做脏活,但我真的怀疑应该这样做。我无法在指南或 API 中找到我要查找的内容。

有没有更简单的方法来解决这个问题?如果是这样,你能指出我正确的方向吗?

此致,

尼尔斯

0 投票
1 回答
1197 浏览

excel - 使用 POI 或 HSSF 从 Excel 文档中提取图表?

我有一堆 Excel 文档,其中一张纸上有数据,还有一张从另一张纸上的数据生成的图表。我想获取这些文档并从中生成一系列 HTML 页面。使用 POI(或 HSSF)知道我可以从文档中读取数据并使用某些图表引擎生成图表。但是客户对我通过此操作的任何引擎的输出都不满意,只会对 Excel 电子表格中已有的图表感到满意。有谁知道我如何从 Excel 中提取该图表作为 JPEG/PNG/GIF?

0 投票
2 回答
429 浏览

java-me - apache poi 可以与 J2Me 一起使用吗?

我希望使用apache poi库来访问我正在开发的黑莓应用程序中的 powerpoint 文件。添加 jar 作为外部库会导致预验证错误。(编译成功)。我的问题 - 我可以在 J2ME 应用程序中使用 apche poi 库吗?如果没有,是否有可用于 J2ME 的 apche poi 版本?

0 投票
3 回答
1343 浏览

java - Java:如何将剪贴板上的图像粘贴(附加)到word文档

Java中有没有办法将剪贴板的内容(在我的情况下为图像)复制到word文档的末尾?

我想要一个程序 - * 将文件名(word 文件)作为参数 * 无论何时运行此程序 - 它都会打开 word 文件并将剪贴板的内容粘贴到文档的末尾。

我已经完成了第一部分 - 但正在努力处理第二部分。还尝试了 POI,但无法使其正常工作。

非常感谢任何帮助或指示。

问候,-阿什什

0 投票
3 回答
1522 浏览

java - 将 Ms Access 连接到 java

我使用 poi api 从 excel 中提取数据。现在我想将数据存储在访问中,请澄清