java poi解析word的方法
作者:chanjuan 时间:2023-08-28 07:31:28
之前做过用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);
O * ackage 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;
}
功能实现了。
标签:java,poi,word
0
投稿
猜你喜欢
Java枚举类使用Lombok方式
2022-06-28 22:07:02
Mybatis 逆向工程的三种方法详解
2023-08-10 22:27:20
java中使用数组进行模拟加密的方法
2023-11-18 15:37:39
Java日常练习题,每天进步一点点(8)
2022-04-15 16:40:26
Android学习笔记--使用剪切板在Activity中传值示例代码
2022-12-21 13:43:58
Mockito mock Kotlin Object类方法报错解决方法
2022-03-10 15:23:37
SpringCloud-Alibaba-Nacos启动失败解决方案
2023-12-19 05:34:45
改进c# 代码的五个技巧(一)
2021-07-17 23:49:30
java对象初始化代码详解
2023-09-19 13:59:01
MyBatis-Plus实现多数据源的示例代码
2023-11-11 12:58:11
使用JPA主键@Id,@IdClass,@Embeddable,@EmbeddedId问题
2022-07-07 18:35:41
java实现简单验证码生成
2022-06-02 10:05:09
C#实现rabbitmq 延迟队列功能实例代码
2023-03-18 02:59:34
Java虚拟机JVM性能优化(三):垃圾收集详解
2021-10-16 10:38:49
MyBatis执行Sql的流程实例解析
2022-06-12 19:43:42
SpringBoot的DeferredResult案例:DeferredResult的超时处理方式
2023-08-09 14:00:58
IDEA全量替换一次性解决旧项目并将所有文件换行符改为LF问题
2022-09-17 18:44:32
Spring 事务事件监控及实现原理解析
2023-12-24 04:20:20
android实现下拉菜单三级联动
2022-10-13 15:46:53
Eclipse开发环境导入android sdk的sample中的源码
2021-06-08 05:28:38