在实际的开发中都会遇到 Java操作word文档,pdf文档,excel表格,以实现基本的功能和需要。如果没有接触之前,我们无从下手,今天我就对这些操作用什么工具或者方法做一些简单的陈述,以便可以直接查找对应的资料。
Java操作word文档:
Java 操作word,对word文档进行读写时,主要用 Apache写的POI这个工具类,网上有POI对用的API和文档,在自己实际的项目中可以查找对应的API进行对应的操作。特别注意的是: word 文档分03版和07版的,doc和docx两种,这两种读取的方式是不同的。以.docx文件结尾实际上也是压缩文件,当你把docx后缀名改成.zip,然后解压可以看到很多xml文件,实际上读取docx文档就是解析xml文档。不相信的可以自己尝试。
把docx改成为zip 的效果图
1 什么是Apache POI
全称Apache POI,使用Java编写的免费开源的跨平台的Java API。是创建和维护操作各种符合 Office Open XML(OOXML)标准和微软的 OLE 2 复合文档格式(OLE2)的 Java API。用它可以使用 Java 读取和创建, 修改 MS Excel 文件. 而且, 还可以使用 Java 读取和创建 MS Word 和 MSPowerPoint 文件。Apache POI 提供 Java 操作 Excel 解决方案(适用于 Excel97-2008)。
2 Apache POI的组件
Apache POI包含用于MS-Office的所有OLE2复合文档的类和方法。此API的组件列表如下:
附上一个简单的代码:
package com.lq.readDoc;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.ooxml.POIXMLDocument;
import org.apache.poi.ooxml.extractor.POIXMLTextExtractor;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
/**
* 读取文档中的doc和docx的内容
*/
public class ReadDocUtils {
public static String ReadDoc(String path) throws IOException {
String resullt = "";
//首先判断文件中的是doc/docx
try {
if (path.endsWith(".doc")) {
InputStream is = new FileInputStream(new File(path));
WordExtractor re = new WordExtractor(is);
resullt = re.getText();
re.close();
} else if (path.endsWith(".docx")) {
OPCPackage opcPackage = POIXMLDocument.openPackage(path);
POIXMLTextExtractor extractor = new XWPFWordExtractor(opcPackage);
resullt = extractor.getText();
extractor.close();
} else {
System.out.println("此文件不是word文件");
}
} catch(Exception e){
e.printStackTrace();
}
return resullt;
}
}
Java 操作PDF文档:
Java 操作PDF文档使用Itext 工具类比较方便,可以替换文字,上传图片,进行word和PDf之间的转化。网上有对应的文档和API,可以自己查找封装工具类。
Java 操作Excel表格:
Java 操作Excel: 目前我了解到的主要工具类有两个,一个是Apache的POI,另一个是Alibaba 开源的EasyExcel,EasyExcel解决了 POI 中存在的问题,如果要excel数据量很小,可以用Apache下的,如何是海量数据,建议用EasyExcel,他又很多优势。
EasyExcel的核心功能
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
本文链接:
https://blog.csdn.net/lq18894033018/article/details/97934901
本文暂时没有评论,来添加一个吧(●'◡'●)