java读取word文档并显示在页面上

要在 Java 中读取 Word 文档并将其内容显示在页面上,你可以使用 Apache POI 库来处理 Word 文档。Apache POI 是一个用于操作 Microsoft Office 格式文件的开源库,支持 .doc.docx 文件格式。以下是详细的步骤和示例代码,展示如何使用 Apache POI 读取 Word 文档并在 Java 应用程序中显示内容。

步骤和示例代码

1. 添加 Apache POI 依赖

首先,你需要将 Apache POI 依赖添加到你的项目中。如果你使用的是 Maven,可以在 pom.xml 文件中添加以下依赖:

xml
<dependencies> <!-- Apache POI for .docx files --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>5.2.3</version> </dependency> <!-- Apache POI for .doc files --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>5.2.3</version> </dependency> <!-- Required for .doc files --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.4</version> </dependency> </dependencies>

2. 读取 Word 文档

读取 .docx 文件

java
import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; import java.io.FileInputStream; import java.io.IOException; public class ReadDocxExample { public static void main(String[] args) { String filePath = "path/to/your/document.docx"; // 替换为你的文件路径 try (FileInputStream fis = new FileInputStream(filePath); XWPFDocument document = new XWPFDocument(fis)) { for (XWPFParagraph paragraph : document.getParagraphs()) { System.out.println(paragraph.getText()); } } catch (IOException e) { e.printStackTrace(); } } }

读取 .doc 文件

java
import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.usermodel.Range; import java.io.FileInputStream; import java.io.IOException; public class ReadDocExample { public static void main(String[] args) { String filePath = "path/to/your/document.doc"; // 替换为你的文件路径 try (FileInputStream fis = new FileInputStream(filePath); HWPFDocument document = new HWPFDocument(fis)) { Range range = document.getRange(); System.out.println(range.text()); } catch (IOException e) { e.printStackTrace(); } } }

3. 显示内容在 GUI 页面上

你可以使用 Swing 或 JavaFX 来显示文档内容。以下是使用 Swing 的示例代码:

java
import javax.swing.*; import java.awt.*; import java.io.FileInputStream; import java.io.IOException; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFParagraph; public class DisplayDocxInSwing { public static void main(String[] args) { SwingUtilities.invokeLater(() -> { JFrame frame = new JFrame("Word Document Viewer"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(600, 400); JTextArea textArea = new JTextArea(); textArea.setEditable(false); StringBuilder sb = new StringBuilder(); String filePath = "path/to/your/document.docx"; // 替换为你的文件路径 try (FileInputStream fis = new FileInputStream(filePath); XWPFDocument document = new XWPFDocument(fis)) { for (XWPFParagraph paragraph : document.getParagraphs()) { sb.append(paragraph.getText()).append("\n"); } } catch (IOException e) { e.printStackTrace(); } textArea.setText(sb.toString()); frame.add(new JScrollPane(textArea), BorderLayout.CENTER); frame.setVisible(true); }); } }

总结

  1. 添加 Apache POI 依赖:确保你的项目中包含 Apache POI 相关依赖。
  2. 读取 Word 文档
    • 使用 XWPFDocument 类读取 .docx 文件。
    • 使用 HWPFDocument 类读取 .doc 文件。
  3. 显示内容:使用 Swing 或 JavaFX 将读取的内容显示在 GUI 组件中。

关键字

Java, Apache POI, 读取 Word 文档, .docx 文件, .doc 文件, Swing, JavaFX, 文件路径, 文档内容