- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从 microsoft-word 中提取数据并将其转换为 sql 语句并将其插入 Oracle 数据库。
当 ms-word 中的数据包含通过 [Shift-Enter] 创建的新行而不只是 Enter 时,
文本包含一个看起来像带有问号的框的图标。
其中 ET 只是使用 Enter 键的标准新行,ST 是使用
的新行Shift-Enter 组合。因此,当生成 SQL 并将其插入到 oracle 时,oracle 不会将其视为文本,而是将其视为十六进制。
我的问题是,如何将 [shift-enter] 创建的行删除为标准的“\n”?
谢谢
更新这就是我获取文本信息的方式
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(file));
HWPFDocument doc = new HWPFDocument(fs);
WordExtractor we = new WordExtractor(doc);
text = we.getText();
更新答案:这是 poi-3.6 中的一个错误。在 poi-3.8 中显示为\r。
最佳答案
您几乎肯定会看到 Word 文档中的“字段”,它们是特殊的文本 block ,例如链接、宏等
第一个选项是继续使用 WordExtractor,但调用 stripFields(String)在使用结果文本之前。这将为您从文本中删除所有这些字段。
另一种选择是使用不同的方式来获取文本。 WordToTextConverter是 Apache POI 的一部分,是更复杂的代码,可以处理更多格式,应该为您跳过这些(WordExtractor 非常简单且低级别)。另一种是使用Apache Tika ,它提供了从多种文件格式中提取文本的通用方法。它确实有正确的代码来处理字段,而且作为额外的好处,当您的需求发生变化时,支持 .docx 或 .pdf 将变得微不足道!
关于java - HWPFDocument/XWPFDocument 新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14732791/
我有一个包含项目的表。我想在Word文档中设置项目的名称,但每个项目都在一个新行中。 所以我创建了下面的空白: 当我的文本包含“P01”时,我用名称替换文本,添加新行并设置另一个文本“P01”。 pu
对于旧的 Microsoft 格式 (.doc),APACHE POI 使用 HWPFDocument。要知道此对象的页数,我只需要做: HWPFDocument document = new HW
我想将带有阿拉伯字母的word转换为pdf,经过一番研发后,我决定使用 org.apache.poi.xwpf.converter.pdf.PdfConverter 但是当我写下面的代码时,最终结果是
我没有将文档的内容附加到 CTBody 类,而是使用 XWPFDocument 类将所有数据从 Word 文档传输到空文档,但是我收到如下错误。当我将 XWPFDocument 文档转换为 pdf 时
我现在正在用java生成word文档,并且正在使用POI Apache的XWPFDocument。最终文档必须如下所示 http://sk.uploads.im/t/rtwvm.png 直到一切正常,
我正在尝试从 microsoft-word 中提取数据并将其转换为 sql 语句并将其插入 Oracle 数据库。 当 ms-word 中的数据包含通过 [Shift-Enter] 创建的新行而不只是
我们正在实现一个门户,用于处理修改和生成 Microsoft Office 2007 文档 (docx) 的请求。后端是用 Java 实现的,使用 Apache POI 作为操作 docx 文件内容的
我正在使用 apache poi 3.8 将值写入 word 模板。我用所需的值替换单词文件(键)中的特定字符串,例如word文档有一段包含key %Entry1%,我想用“Entry text li
我实际上是用 Apache POI 生成一个 Word 文档,我需要自动创建一个引用段落的目录 (TOC),以及它们的页面指示。 这是我正在使用的代码(我省略了前提条件和内部方法的主体): XWPFD
我正在对 .docx 文件进行搜索和替换,在某些情况下,替换文本包含换行符。我为此尝试了几种技术。第一个是将替换文本分成几行并执行: run.setText(lines[0], 0); for(int
我正在使用 Apache POI 方法在我的项目中创建和填充 XWPFDocument 对象,就像这样 public XWPFDocument test() { XWPFDocument doc =
我需要知道如何将 multipartFile 转换为 XWPFDocument 以便将其作为 Word 文件读取(我上传的文件实际上是 .docx ),但是我收到错误: org.springframe
我有一个 Microsoft Word .docx 文档上传到 Sharepoint。在我的 java 代码中,我已将此文档下载到一个 byte[] 中。好的。现在,我想要的是处理这个 byte[]
你知道是否有办法在段落填充文档 (XWPFDocument) 中插入段落 (XWPFParagraph) 吗? 有一种方法可以将文档中已经存在的段落“更改”为另一个段落 (XWPFDocument.s
我已经创建了一个代码,可以使用 Apache POI API 动态创建 Word 文档。该文档预计有一些行数不同的表(列数是固定的)。目前我已将每个表格放置在不同的页面上。我需要知道或者有什么方法可以
我想让 XWPFParagraph(开始)内的文本成为指向文档中另一个具体 XWPFParagraph(结束)的超链接。我找到了在 XWPFCell 内创建超链接的代码,但它不起作用(启动链接开始):
我正在尝试将文本和屏幕截图附加到现有的 Word 文件中。但每次执行以下代码时,我都会收到错误: org.apache.poi.EmptyFileException: The supplied fil
为了帮助解决我遇到的另一个问题,我在 POI Word 小部件的 postGenerationProcess 事件中测试以下代码: var jce:writeXWPFDocument = new wr
我正在尝试使用 XWPFDocument.InsertNewParagraph(XmlDocument cursor) 但该方法要求使用 XmlDocument cursor,我不知道在哪里可以找到它
我尝试从我的 Android 应用程序读取 docx 文件,但以下代码给出了 NoClassDefFoundException :org.doc4j.NameSpace try{ InputS
我是一名优秀的程序员,十分优秀!