Java html转word_html文件转换成excel

Java html转word_html文件转换成excel使用aspose的原因:1.使用简单,功能强大2.可以自动将html中可以访问的img标签存入word文档中3.可以轻松实现HTML中的样式转换到word文档中首先使用的jar包是:aspose-words-14.9.0-jdk16.jar这个可以在网上找到激活成功教程版以下是代码:1:读取asposelicensepublicstaticbooleangetAsposeWordLice

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

使用aspose的原因:

1.使用简单,功能强大
2.可以自动将html中可以访问的img标签存入word文档中
3.可以轻松实现HTML中的样式转换到word文档中

首先使用的jar包是:aspose-words-14.9.0-jdk16.jar
这个可以在网上找到激活成功教程版

以下是代码:
(注:本代码使用的groovy语言,和java差不多,格式有所差距,比如结尾没有java必须用到的”;”分号)

1:读取aspose license

public static boolean getAsposeWordLicense(){
    boolean result = false;
    try {
        InputStream is =Thread.currentThread().getContextClassLoader().getResourceAsStream("aspose/aspose-license.xml") // Context.getResourceAsStream("aspose-license.xml");
        License aposeLic = new License();
        aposeLic.setLicense(is);
        result = true;
    } catch (Exception e) {
        e.printStackTrace();
    }
    return result;
}
2:制作生成.doc格式word文档

/**
 * html to word
 * @param body 要转换成word的 源html文档
 * @param outputStream 输出流,可传入responseOutputStream
 * @return 输出流
 */
def FileOutputStream HtmlToWord(String body,OutputStream out){
    if(!com.common.utils.aspose.AsposeUtil.getAsposeWordLicense()){
        return null
    }
   // OutputStream out = null;
    try {
        //out = new FileOutputStream()
        //将HTML中的img标签的src全部转换为可访问到的地址(个人业务逻辑)
        //body = parseImgUrlFromBody(body)
        //这里是加入css样式,以引入的方式
        String css = "<link rel='stylesheet' href='"+grailsApplication.config.staticFileBaseUrl+"/css/simditor.css' type='text/css' />"
        String cssFont = "<link rel='stylesheet' href='"+grailsApplication.config.staticFileBaseUrl+"/css/font-awesome.css' type='text/css' />"
        //拼接完整的HTML文档
        String html = "<!DOCTYPE html> <html> <head> "+css+cssFont+" </head> <body><div class='editor-style'>" + body + "</div></body> </html>"
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        builder.insertHtml(html);
        doc.save(out, SaveOptions.createSaveOptions(SaveFormat.DOC));//生成doc文件
        return out
    }catch (Exception e){
        log.debug("------HtmlToWord convert error because"+e.message)
        return null
    }
}
以上完成,简单且完整的word文档生成了,图片和CSS会自动写入word文档中.
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183465.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 菲尼克斯PSR-SCP- 24DC/FSP2/2X1/1X2耦合继电器

    菲尼克斯PSR-SCP- 24DC/FSP2/2X1/1X2耦合继电器菲尼克斯PSR-SCP-24DC/FSP2/2X1/1X2耦合继电器耦合继电器-PSR-SCP-24DC/FSP2/2X1/1X22986575适用于SIL2高需求和低需求应用的安全耦合继电器,将数字输出信号耦合至I/O端,2个启动电流通路,1个报警触点,用于安全状态关闭应用的模块,内置测试脉冲滤波器,插拔式螺钉连接端子,宽度:17.5mm产品类型 耦合继电器应用 安全关闭高要求低要求机械寿命 10×106开关次数继电器型号 带机械联锁触点的机电式继电器,符合IEC/EN6

    2022年6月22日
    28
  • 关于Json 与 Request Header 的Content-Type 一些关系。

    关于Json 与 Request Header 的Content-Type 一些关系。由于最近遇到关于ashx文件ajax解析参数的问题。查询网上很多资料后,已经解决。鉴于网上已经足够多的,关于这个问题的文章。大部分内容来自互联网,我这里只是做一些整理和记录。特此说明并非原创。Content-Type是返回消息中非常重要的内容,表示后面的文档属于什么MIME类型。Content-Type:[type]/[subtype];parameter。例如最常见的就是text/htm…

    2022年8月24日
    7
  • 理解java中反射,区别Class.forName(),Class.forName().instance() ,new,如果获取对象中的方法和字段「建议收藏」

    理解java中反射,区别Class.forName(),Class.forName().instance() ,new,如果获取对象中的方法和字段「建议收藏」理解java中反射,区别Class.forName(),Class.forName().instance() ,new,如果获取对象中的方法和字段

    2022年4月23日
    39
  • pycharm配置svn有什么用_SVN安装配置

    pycharm配置svn有什么用_SVN安装配置PyCharm是一款非常优秀的PythonIDE,以前用Editplus,用惯了感觉还行。用了PyCharm后被它丰富的功能吸引了。无论是普通python脚本、Django框架项目、还是GoogleAppEngine项目,它都能完美运行。不过设置起来比较麻烦,比如Subversion的用法我就一直没参透,我总是写完代码后出去用小乌龟提交。今天google一下,终于搞定了。现在写完代码后直接在…

    2022年8月26日
    4
  • callable线程使用_java线程结束用什么方法

    callable线程使用_java线程结束用什么方法接着上一篇继续并发包的学习,本篇说明的是Callable和Future,它俩很有意思的,一个产生结果,一个拿到结果。Callable接口类似于Runnable,从名字就可以看出来了,但是Runnable不会返回结果,并且无法抛出返回结果的异常,而Callable功能更强大一些,被线程执行后,可以返回值,这个返回值可以被Future拿到,也就是说,Future可以拿到异步执行任务的返

    2025年8月21日
    3
  • Shell循环读取文件

    Shell循环读取文件注:部分概念介绍来源于网络方法1:while循环中执行效率最高,最常用的方法。functionwhile_read_LINE(){whilereadLINEdoecho$LINEdone<$FILENAME}注释:这种方式在结束的时候需要执行文件,就好像是执行完的时候再把文件读进去一样。方法2:重定向法;管道法:cat$FILENAME|whilereadLINEfunctionWhile_read_LINE(){cat$FILENAME|..

    2022年7月24日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号