我是靠谱客的博主 幸福万宝路,最近开发中收集的这篇文章主要介绍Java利用OpenOffice进行将word,excel转化成html解析到界面(上)1.OpenOffice3.启动OpenOffice服务4.工具类,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近项目中遇到一个新需求,需要将Word和Excel文档解析成为html编码并在前台显示,word中包含图片信息,保留原文档基础样式,博主查找了相关资料后,利用OpenOffice第三方插件,以及自己封装了一些解析方法,功能已经实现,在此分为上下两部分做总结以便后期使用,希望可以帮助到大家,如有更好的建议望留言告知。

1.OpenOffice

1.软件下载

首先,去到官网根据自己的需求下载所需要的版本(我的版本是4.1.4)。
这里写图片描述

2.软件安装

双击安装包 打开运行程序 这里是安装向导首界面 点击下一步按钮
这里写图片描述
点击浏览按钮 选择安装目录路径 如图所示
这里写图片描述
会自动检测系统中的插件 如果需要会自动安装
这里写图片描述
输入使用的用户 以及选择用户权限 点击下一步按钮
这里写图片描述
这里勾选通常安装 简单而且点击下一步
这里写图片描述
是否在桌面上创建一个快捷方式 建议勾选
这里写图片描述
这是安装完成界面 点击完成关闭安装向导
这里写图片描述
PS:安装度娘上都有,博主帮你们移植过来,按照步骤即可。

3.启动OpenOffice服务

打开cmd命令窗口,进入OpenOffice安装目录下的program目录,如下图
这里写图片描述
因为我的OpenOffice安装在D盘所以我先进的D盘,至于怎么在cmd里敲命令行我想大家都懂得,在这里我就不献丑了。

进入program目录后,继续执行(按原句执行不要更改)
soffice -headless -accept=”socket,host=127.0.0.1,port=8100;urp;” -nofirststartwizard

如下图:
这里写图片描述
执行完成后可打开:任务管理器 进行查看服务是否启动 如下图:
记住每次重启电脑都得重新打开OpenOffice执行上述步骤,如果需要自启动请自行写自启动脚本


4.工具类

OpenOfficeUtils.java

package com.utils;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ConnectException;
import com.artofsolving.jodconverter.DocumentConverter;
import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;
/**
* 任意文件转化为html
*
* @author Mr.F
*
*/
public class OpenOfficeUtils {
// 任意文件转html
public
static void FileToHtml(String sourceFile, String htmlFile) {
File SourceFile = new File(sourceFile);
File HtmlFile = new File(htmlFile);
/*
* 转换成pdf文件
* 项目执行需要启动OpenOffice服务,在系统命令窗口执行命令。
*
cd C:Program Files (x86)OpenOffice.org 4program
*
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
*/
if(SourceFile.exists()) {
if(!HtmlFile.exists()) {
OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
try {
connection.connect();
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);

converter.convert(SourceFile, HtmlFile);
HtmlFile.createNewFile();
connection.disconnect();

System.out.println("第二步:转换为HTML格式
路径" + HtmlFile.getPath());
} catch (java.net.ConnectException e) {
//} catch (Exception e) {
e.printStackTrace();
System.out.println("OpenOffice服务未启动");
try {
throw e;
} catch (ConnectException e1) {
e1.printStackTrace();
}
} catch (com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException e) {
e.printStackTrace();
System.out.println("读取文件失败");
throw e;
} catch (Exception e){
e.printStackTrace();
try {
throw e;
} catch (Exception e1) {
e1.printStackTrace();
}
}
} else {
System.out.println("已转换为HTML,无需再次转换");
}
} else {
System.out.println("要转换的文件不存在");
}
}
public static void main(String[] args) {
FileToHtml("F:\ceshi.xlsx", "F:\ceshi1.html");
}
}

PS:OpenOffice会自动识别Office版本,比如doc和docx以及xls和xlsx。

先告诉大家工具下载和使用情况,下篇会结合web工程给大家演示完整的功能,如有问题请留言告知,我们不止会New!

最后

以上就是幸福万宝路为你收集整理的Java利用OpenOffice进行将word,excel转化成html解析到界面(上)1.OpenOffice3.启动OpenOffice服务4.工具类的全部内容,希望文章能够帮你解决Java利用OpenOffice进行将word,excel转化成html解析到界面(上)1.OpenOffice3.启动OpenOffice服务4.工具类所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部