- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 Apache Commons 在 Google App Engine 中上传一个 .docx 文件,如此链接中所述 File upload servlet .上传时,我还想使用 Apache POI 库提取文本。
如果我将其传递给 POI API:
InputStream stream = item.openStream();
我得到以下异常:
java.lang.IllegalArgumentException: Your InputStream was neither an OLE2 stream, nor an OOXML stream
public static String docx2text(InputStream is) throws Exception {
return ExtractorFactory.createExtractor(is).getText();
}
我正在上传有效的 .docx 文档。如果我传递一个 FileInputStream 对象,POI API 工作正常。
FileInputStream fs=new FileInputStream(new File("C:\\docs\\mydoc.docx"));
câu trả lời hay nhất
我不知道 POI 的内部实现,但我猜他们需要一个可搜索的流。 servlet(以及一般的网络)返回的流是不可搜索的。
尝试读取全部内容,然后将其包装在 ByteArrayInputStream
中:
byte[] bytes = getBytes(item.openStream());
InputStream stream = new ByteArrayInputStream(bytes);
public static byte[] getBytes(InputStream is) throws IOException {
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
int len;
byte[] data = new byte[100000];
while ((len = is.read(data, 0, data.length)) != -1) {
buffer.write(data, 0, len);
}
buffer.flush();
return buffer.toByteArray();
}
关于java - 您的 InputStream 既不是 OLE2 流,也不是 OOXML 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23246850/
上下文: 尝试使用 Apache POI 的 poi 和 poi-ooxml 4.0.0 版本 jar 打开 XLSX 文件 问题: 程序抛出错误,如下所示。当我使用 4.0.0 版本时,我发现此错误
đóng cửa. Câu hỏi này không tuân thủ các nguyên tắc của Stack Overflow. Hiện tại nó không chấp nhận câu trả lời. Chúng tôi không cho phép các câu hỏi tìm kiếm đề xuất về sách, công cụ, thư viện phần mềm, v.v. Bạn có thể chỉnh sửa câu hỏi của mình để trả lời bằng sự kiện và trích dẫn. Đóng cửa 7 năm trước
我收到了奇怪的 XLSX 文件 (OOXML)。以下是其工作表 (xl/worksheets/sheet1.xml) 的一些代码片段: 33
我正在调试 Word Office js 加载项。它需要做的一件事是在 Word 文档中创建一个隐藏部分。为此,我将一些信息传递给创建 OoXML 字符串的 JavaScript 函数。我让用户能够在
我在使用 MS 的 Open XML SDK 2.0 创建 XLSX 文档时遇到问题。 我的问题是我需要在 Excel 工作表中显示其中一些非法字符,但如果我只是将它们添加到工作表中,文档将不会加载。
在 OOXML 中,诸如粗体、斜体等格式可以(并且常常令人烦恼地)在多个元素之间分割,如下所示: This
我正在尝试从 .docx 翻译一些格式规范模板到 LaTeX, 并且正在努力使其准确应对学术挑战。 考虑以下 Office Open XML 片段:
我需要能够根据文件的内容而不是文件的扩展名来识别给定文件是 OOXML 文件。 OOXML 文件实际上是 zip 容器中的 XML 和文本文件的集合,这意味着我不能使用文件的魔数(Magic Numb
如何创建启用跟踪更改的 .docx?里面有人告诉我word/settings.xml我应该修改 w:proofState但是我发现 OOXML 在线文档中的所有信息都与语法和拼写检查有关,但与启用跟踪
ElementTree (Python 2.7) 看不到根元素的属性,例如标签 - 拿一本空字典。我想要“即时”获取用于处理标签的 namespace 。库 xml.dom.minidom 工作正常
系统说明 使用 OOXML 生成文档的绘图组件。 绘图组件由几个部分组成。所有部分都用 C++ 编写为 exe + dll,但 OOXML 文档的接口(interface)除外。后一个组件是在 C#/
我无法获取 header 的 OOXML。根据documentation getHeader”方法将返回 Body 类型。 Body 有一个获取 OOXML 的方法。但看起来它没有返回 OOXML。也
我正在尝试使用外部配置文件制作 jar 文件。在使用 poi-ooxml 库之前一切正常。之后我遇到了资源提供的问题。我使用下一个 pom.xml: 4.0.0 xxx y
我一直在尝试通过 office-js insertOoXML() 方法将 OOXML 插入到 word 文档的正文内容中。我什至尝试了最简单的实现(认为我在尝试替换 XML 本身中的 fieldCod
我下载了 OOXML SDK。我需要创建一个简单的 Excel 电子表格,其中包含 x 个工作表,每个工作表有 4 列和 y 行数据。这很简单,但我找不到任何地方如何创建工作表的示例。 最佳答案 根据
我有一个很大的 XML 文件(来自 Microsoft Word),其中包含表格、段落等。我试图获取两个元素之间的所有 XML。例如,我想获取这两者之间的所有 XML #StartHe
我一直在查看 excel 生成的一些 xml 文件,发现要定义单元格的内容,它会执行如下操作: 1 在别处引用 sharedString.xml 文件的地方。 所以我的问题是,是否可以将文本内容直
好吧,这有点奇怪。我已经从 apache-poi 3.9 版源代码 http://archive.apache.org/dist/poi/release/src/ 但是我找不到 poi-xml-sch
当我尝试使用 apache poi 3.17 读取 doc 文件的内容时,出现以下错误: java.lang.IllegalArgumentException: The document is rea
我正在学习使用 Selenium 和 Excel 进行数据驱动测试。我正在参加一门在线类(class),要求在 Maven 中添加 Apache poi 和 poi-ooxml 依赖项。 我正在努力理
Tôi là một lập trình viên xuất sắc, rất giỏi!