java poi解析word的方法
程序员文章站
2024-02-25 21:48:27
之前做过用java读取word文档,获取word文本内容。
但发现docx的支持,doc就异常了。
后来找了很多资料发现是解析方法不一样。
首先要导入poi相关的ja...
之前做过用java读取word文档,获取word文本内容。
但发现docx的支持,doc就异常了。
后来找了很多资料发现是解析方法不一样。
首先要导入poi相关的jar包
我用的是maven,pom.xml引入如下:
<dependency> <groupid>org.apache.poi</groupid> <artifactid>poi-ooxml</artifactid> <version>3.8</version> </dependency> <dependency> <groupid>org.apache.poi</groupid> <artifactid>poi-scratchpad</artifactid> <version>3.8</version> </dependency>
java获取word文本内容如下:
public baseresp getparsedtxt(multipartfile file) throws exception { baseresp br=new baseresp("200","") ; string texttype = file.getcontenttype(); string txt = ""; if(texttype.equals(txt_type)){ string code = getcharset(file); txt = new string(file.getbytes(),code); }else if(texttype.equals(doc_type)){ hwpfdocument doc = new hwpfdocument(file.getinputstream()); range rang = doc.getrange(); txt = rang.text(); system.out.println(txt); }else if(texttype.equals(docx_type)){ file ufile = new file("tempfile.docx"); if(!ufile.exists()){ ufile.createnewfile(); } filecopyutils.copy(file.getbytes(), ufile); opcpackage opcpackage = poixmldocument.openpackage("tempfile.docx"); poixmltextextractor extractor = new xwpfwordextractor(opcpackage); txt= extractor.gettext(); ufile.delete(); }else{ br = new baseresp("300","上传文件格式错误,请上传.txt或者.docx"); return br; } br.setdatas(txt); return br; }
功能实现了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。