java poi word读取

用 poi 读取word文件 。

老是报错
org.apache.poi.poifs.filesystem.NotOLE2FileException: Invalid header signature; read 0xC9D33C3A6D6F7246, expected 0xE11AB1A1E011CFD0 - Your file appears not to be a valid OLE2 document

public static void readAndWriterTest3() throws IOException {
    File file = new File("D:\\jl\\2.doc");
    String str = "";
    try {
        FileInputStream fis = new FileInputStream(file);
        HWPFDocument doc = new HWPFDocument(fis);
        String doc1 = doc.getDocumentText();
        System.out.println(doc1);
        StringBuilder doc2 = doc.getText();
        System.out.println(doc2);
        Range rang = doc.getRange();
        String doc3 = rang.text();
        System.out.println(doc3);
        fis.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}


文件另存为之后,的word文档,就可以读取。这个要怎么解决,直接为什么读取不了?既然word能打开。为什么poi读取不了?


阅读 12.8k
3 个回答

说明开始的文件不是很符合word文档规格,用word打开后另存就肯定符合规格了

新手上路,请多包涵

大佬 解决了没?

可以试下Spire.doc for Java控件呢,我用过效果还不错,相关代码可以参考他们官网教程

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏