欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java在线编辑word插件(Java操作word工具的选择)

程序员文章站 2023-11-21 07:59:27
在实际的开发中都会遇到 java操作word文档,pdf文档,excel表格,以实现基本的功能和需要。如果没有接触之前,我们无从下手,今天我就对这些操作用什么工具或者方法做一些简单的陈述,以便可以直接...

在实际的开发中都会遇到 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 的效果图

java在线编辑word插件(Java操作word工具的选择)
java在线编辑word插件(Java操作word工具的选择)

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的组件列表如下:

附上一个简单的代码: poifs:此组件是所有其他poi元素的基本因素。它用于显式读取不同的文件。hssf:用于读取和写入.xls格式的ms-excel文件。xssf(xml spreadsheet格式):用于ms-excel的.xlsx文件格式。hpsf:用于提取ms-office文件的属性集。hwpf:用于读取和写入ms-word的.doc扩展文件。xwpf(xml字处理器格式):用于读取和写入ms-word的扩展文件 .docx 。hslf:用于阅读,创建和编辑powerpoint演示文稿。hdgf(horrible diagram格式):它包含ms-visio二进制文件的类和方法。hpbf(horrible publisher格式):用于读取和写入ms-publisher文件。

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的核心功能

读任意大小的03、07版excel不会oom读excel自动通过注解,把结果映射为java模型读excel支持多sheet读excel时候是否对excel内容做trim()增加容错写小量数据的03版excel(不要超过2000行)写任意大07版excel不会oom写excel通过注解将表头自动写入excel写excel可以自定义excel样式 如:字体,加粗,表头颜色,数据内容颜色写excel到多个不同sheet写excel时一个sheet可以写多个table写excel时候自定义是否需要写表头