精华内容
下载资源
问答
  • java导出word

    2013-04-09 15:11:23
    利用java导出word 编写ftl模板 导出即可 很简单
  • Java导出word

    2018-09-29 10:58:37
    Java用freemarker导出word.
  • JAVA 导出WORD

    2011-12-14 17:02:28
    完整的JAVA导出WORD源代码,解压即可运行
  • java 导出word

    千次阅读 2018-06-01 11:09:14
    目前来看,java导出word大致有6种解决方案: 1:Jacob是Java-COM Bridge的缩写,使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。DLL动态链接库的生成需要windows平台的支持。...
    • 目前来看,java导出word大致有6种解决方案:

      1:Jacob是Java-COM Bridge的缩写,使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。DLL动态链接库的生成需要windows平台的支持。该方案只能在windows平台实现,是其局限性。

      2:Apache POI包括一系列的API,他的excel处理很强大,对于word还局限于读取,目前只能实现一些简单文件的操作,不能设置样式。有兴趣学习的同学,http://www.w3ii.com/zh-CN/apache_poi_word/default.html这个文档官方可以看看

      3:Java2word是一个在java程序中调用 MS Office Word 文档的组件类库)。该组件提供了一组简单的接口,以便java程序调用他的服务操作Word 文档。

      4:iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。功能强大。

      5:JSP输出样式,该方案实现简单,但是处理样式有点缺陷,简单的导出可以使用。

      6:用XML做就很简单了。Word从2003开始支持XML格式,大致的思路是先用office2003或者2007编辑好word的样式,然后另存为xml,将xml翻译为FreeMarker模板,最后用java来解析FreeMarker模板并输出Doc。经测试这样方式生成的word文档完全符合office标准,样式、内容控制非常便利,打印也不会变形,生成的文档和office中编辑文档完全一样。

    综上所述:我先使用poi做了一套导出word,但是由于页眉页脚输出打不开word,结合网上意见,决定试试freemaker导出word

    可以看看这个博客,很详细https://blog.csdn.net/qq_24084925/article/details/58586615


            首先说说word和xml的关系,每个word它都对应着一个xml文件,也就是说你修改了xml,对应的word文件也就跟着修改了。通过word的保存功能可以将一个word文件保存为xml文件,该文件虽然是.xml格式的,但是直接双击打开的话还是使用word打开,所以你只能用txt将它打开,用txt打开之后将里面的一句话:<?mso-application progid="Word.Document"?>去掉,然后保存,接着就可以双击直接打开了,这样使用的就是IE打开的,就可以查看里面的节点具体的构造。

    最上面的主节点是<w:wordDocument>(如果不是,你将word文件保存成xml的时候使用的是07word,选择的是:word xml文档(*.xml),你可选择word 2003 xml文档(*.xml)试试);该主节点下面有大致8个节点,其中我们要操作的就是<w:body>节点,该节点是word的正文节点,其他的节点没有去研究;<w:body>下面包含的节点可能会有:<w:p>段落节点、<w:tbl>表格节点。

    1.首先编辑xml,https://segmentfault.com/a/1190000011709732 ,可以去看


    保存成 abc.xml;

    然后用代码编辑器打开,由于打开格式比较乱,可以先格式化之后再修改:


    修改步骤如下:1.将${a.item1},被打乱的部分删掉,如下图,否则无法显示数据


    2.list遍历循环输出的话要在每一行前后加上<#list 你的数据list as 转换的变量名></#list>

    (3)图片的话,在模板里面先加入图片占位,打开xml文档,图片所在的位置会有一大串base64编码,将图片形成的一大串base64编码改成图片的数据变量,如${image}
    clipboard.png到这里文件里面加入的<#list 你的数据list as 转换的变量名></#list>属于非法写法,还有图片的base64编码没了,所以到这里的xml文档就无法用word打开查看最终样式了。导出word的模板就形成好了

    土亢

    • 图片使用base64编码,放在“yyy”的位置:“<w:binData w:name="wordml://xxx.png">yyy</w:binData>”
    • 当文档存在图片时,尤其是多张图片需要动态读取时,“wordml://${xxx}.png”中的xxx需要相应动态变化,不然图片会重复哦。
    • 单元格合并时,可在ftl里写相应判断,同上行内容使用“<w:vmerge />”或者“<w:vmerge w:val="continue"/>”来表示合并,否则,使用“<w:vmerge w:val="restart"/>”来另起新行。这里注意的是“vmerge”都是小写,学习过程中在网上看到是“vMerge”,合并不起作用,排查了半天错。

      <#assign tempName=""/>
      ...
      <#if tempName!=Table.name>
        <w:vmerge w:val="restart"/>
        <#assign tempName=Table.name/>
      <#else>
        <w:vmerge />
      </#if>







    展开全文
  • java导出Word

    2014-11-15 18:52:22
    java实现导出Word,可以导出图片到Word,
  • java生成word的实例 java导出Word文档的实例.rar
  • java导出word技术

    2015-01-20 12:02:11
    java导出word技术,可以导出word,导出word需要的jar包
  • java导出word之freemarker导出程序 ,java工程,能正常执行,很好的入门实例

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,088
精华内容 835
关键字:

java导出word

java 订阅