问题标签 [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 投票
1 回答
4272 浏览

java - 带有公式的 Apache POI 颜色单元格

我想用java中的Apache POI创建一个excel,我必须在一个单元格中插入一个公式:A3=B3+C3。

如果他的值> 0,是否可以在 A3 中插入​​另一个为单元格着色的公式?

我使用 Apache POI 2.5.1

0 投票
5 回答
5367 浏览

java - 在 Java 中打开 Microsoft Word

我正在尝试在 java 中打开 MS Word 2003 文档,搜索指定的字符串并将其替换为新字符串。我使用 APACHE POI 来做到这一点。我的代码如下所示:

我用以下参数调用这个函数:

当 Test.doc 文件包含这样的简单行:“ AAA EEE ”时,它可以成功运行,但是当我使用复杂的文件时,它会成功读取内容并生成 Test1.doc 文件,但是当我尝试打开它时,它会给我以下错误:

Word 无法读取此文档。它可能是腐败的。尝试以下一项或多项操作: * 打开并修复文件。* 使用文本恢复转换器打开文件。(C:\Test1.doc)

请告诉我该怎么做,因为我是 POI 的初学者,我还没有找到一个好的教程。

0 投票
6 回答
34339 浏览

java - 在 POI 中复制 Excel 工作表

有谁知道使用 POI 将工作表从一个工作簿复制到另一个工作簿的方法?Workbook 类有一个 cloneSheet 方法,但似乎无法将克隆的工作表插入到新工作簿中?

如果没有 API 可以轻松做到这一点,是否有人拥有将所有数据(样式、列宽、数据等)从一张纸复制到另一张纸的代码?

jxls 有复制工作表的方法,但是在工作簿之间复制时它们不起作用。

0 投票
3 回答
2867 浏览

java - 用Java表示Excel工作表值的好方法

考虑到我有一个以下格式的 excel 表:

年龄
Foo 29
Bar 27

现在我想读取这些值(使用 POI HSSF)并且必须处理它们。最好的方法是什么?

请注意,我的应用程序中没有对象人员,因为 excel 表中可能出现的值是任意的(即它可能不是人名和年龄)。所以,我需要使用某种 HashMap 来存储这些值。如果多行,有一个 List 好吗!?

0 投票
5 回答
77428 浏览

java - 使用 POI HSSF API 从 excel 单元格中读取日期值

我正在使用 POI HSSF API 进行 Java 中的 excel 操作。我的一个 Excel 单元格中有一个日期值“2009 年 8 月 1 日”,当我尝试使用 HSSF API 读取该值时,它会将单元格类型检测为数字并返回我的日期的“双倍”值。请参阅下面的示例代码:

Cell.getCellType() 返回 NUMERIC_TYPE,因此此代码将日期转换为双倍!:(

有什么方法可以读取 HSSF POI 中的日期!?

0 投票
3 回答
1389 浏览

java - 用于导入 Excel 电子表格的工具

我需要将一些 Excel 电子表格导入 Java 对象。我将使用 POI 来完成任务(不幸的是它的旧版本)。但是我想知道是否有一些高级框架可以以声明方式执行相同的任务。我在考虑 Castor 和 XML。映射 Excel-Class 将存储在资源中(例如 XML 文件)。是的,我是个懒骨头。但是当用户决定更改输入格式时,我不喜欢有很多硬编码的 POI 语句。

谢谢

0 投票
1 回答
1824 浏览

java - 有没有办法在 JSP 页面中显示 HSSFWorkbook 对象?

有没有办法在 JSP 页面中显示一个 HSSFWorkbook 对象,而在服务器端没有输出文件?在下面的代码中,我提供了net.sf.jxls.transformer.XLSTransformer.transformXLS(InputStream is, Map beanParams)所需的模板文件和 bean,以返回一个 HSSFWorkbook 对象。我现在需要一种在 JSP 中使用此对象的方法,而不必使用 OutputStream 将输出文件存储在服务器端。

0 投票
10 回答
44652 浏览

java - 如何缓存 InputStream 以供多次使用

我有一个文件的 InputStream,我使用 apache poi 组件来读取它,如下所示:

问题是我需要多次使用同一个流,并且 POIFSFileSystem 会在使用后关闭流。

缓存输入流中的数据然后将更多输入流提供给不同的 POIFSFileSystem 的最佳方法是什么?

编辑1:

缓存是指存储以备后用,而不是作为加速应用程序的一种方式。将输入流读入数组或字符串然后为每次使用创建输入流是否更好?

编辑2:

很抱歉重新提出问题,但在桌面和 Web 应用程序中工作时条件有所不同。首先,我从我的 tomcat Web 应用程序中的 org.apache.commons.fileupload.FileItem 获得的 InputStream 不支持标记,因此无法重置。

其次,我希望能够将文件保存在内存中,以便在处理文件时更快地访问和减少 io 问题。

0 投票
2 回答
5615 浏览

java - Apache POI 中的负单元格值样式

使用 Apache POI 生成文档,我在单元格样式方面遇到了一个小问题,目前我正在使用:

这对于正数完全适用,但是我想自动为负单元格分配不同的样式。

问题是否有任何设置而无需检查单个单元格值并为它们分配单独的样式?

或者,有什么方法可以告诉 Apache POI 使用内置的 excel 货币格式及其负面选项之一?

0 投票
1 回答
709 浏览

java - 有没有办法使用 Apache POI 修改 Microsoft Word 页脚?

我需要使用 Java API 修改 Word 页脚的内容。

Apache POI项目似乎支持 此功能:

警告 - 您不应该更改页眉或页脚,因为偏移量尚未更新!

我的问题是双重的:

  1. 有谁知道使用 POI 的 API 来做到这一点的方法?
  2. 是否有不同的 java API 提供此功能?