`

java 到处word

 
阅读更多

package com.run.wzgl.utils;

 

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileOutputStream;

import java.io.OutputStreamWriter;

import java.io.Writer;

import java.net.URLEncoder;

import java.util.Map;

 

import javax.servlet.ServletContext;

import javax.servlet.http.HttpServletResponse;

 

import org.apache.commons.fileupload.util.mime.MimeUtility;

 

import freemarker.template.Configuration;

import freemarker.template.DefaultObjectWrapper;

import freemarker.template.Template;

import freemarker.template.TemplateExceptionHandler;

public class DocUtil {

 

 

       private Configuration configure = null;

       public DocUtil(){

              configure= new Configuration();

              configure.setDefaultEncoding("utf-8");

       }

       /**

        * 根据Doc模板生成word文件

        * @param dataMap Map 需要填入模板的数据

        * @param fileName 文件名称

        * @param savePath 保存路径

        */

       public void createWord(Map<String, Object> dataMap, String downloadType, String savePath){

              try{

                     //加载需要装填的模板

                     Template template  = null;

                     //加载模板文件

                     configure.setClassForTemplateLoading(this.getClass(),"/templet");

                     //设置对象包装器

                     configure.setObjectWrapper(new DefaultObjectWrapper());

                     //设置异常处理器

                     configure.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);

                     //定义Template对象,注意模板类型名字与downloadType要一致

                     template= configure.getTemplate(downloadType + ".xml");

                     //输出文档

                     File outFile = new File(savePath);

                     Writer out = null;

                     out= new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile),"utf-8"));

                     template.process(dataMap,out);

                     out.flush();   

                     out.close();   

              }catch (Exception e) {

                     e.printStackTrace();

              }

       }

       

       /**

        * 根据Doc模板生成word文件

        * @param dataMap Map 需要填入模板的数据

        * @param fileName 文件名称

        * @param savePath 保存路径

        */

       public void createDoc(Map<String, Object> dataMap, String downloadType, String fileName,HttpServletResponse resp){

              try{

                     //加载需要装填的模板

                     Template template  = null;

                     //加载模板文件

                     configure.setClassForTemplateLoading(this.getClass(),"/templet");

                     //设置对象包装器

                     configure.setObjectWrapper(new DefaultObjectWrapper());

                     //设置异常处理器

                     configure.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER);

                     //定义Template对象,注意模板类型名字与downloadType要一致

                     template= configure.getTemplate(downloadType + ".xml");

                     //输出文档

                     resp.setContentType("application/vnd.ms-word;charset=UTF-8");

                     resp.setHeader("Content-Disposition", "attachment;filename="+ URLEncoder.encode(fileName+".doc", "UTF-8"));  

                     Writer out = null;

                     out= new BufferedWriter(new OutputStreamWriter(resp.getOutputStream(),"utf-8"));                                   

                     template.process(dataMap,out);

                     out.flush();   

                     out.close();   

              }catch (Exception e) {

                     e.printStackTrace();

              }

       }

       

}

 

分享到:
评论

相关推荐

    java2word,java操作word

    Java2Word是一个Java库,主要用于在Java应用程序中创建和编辑Microsoft Word文档。这个工具使得开发者能够在服务器端或者没有Microsoft Office安装的环境中处理Word文档,极大地扩展了Java在文档处理方面的功能。...

    java2word程序代码及jar包

    Java2Word是一个Java库,它允许开发者通过编程方式创建和操作Microsoft Word文档。这个压缩包包含的就是使用Java2Word生成Word文档所需的代码示例和必要的jar包。在Java开发中,这种功能通常用于自动化报告生成、...

    java2Word在Word任意位置插入图片

    由于项目需要,苦苦对Java操作Word进行了一番研究,包括当下比较流行的java2Word、jacob、POI、itext等,只能说各有千秋,但是没有一个是完全适合我的,没有办法,只能去各种尝试,在研究了java2Word这个jar包的API...

    Java2Word安装包

    Java2Word是一款基于Java开发的工具,主要用于将Java源代码或者其他文本内容转换成Microsoft Word文档。这个安装包“Java2Word.rar”包含了实现这一功能的所有必要文件,使得用户能够方便地将程序或技术文档导出为...

    java2word 文档

    Java2Word 是一个Java库,用于将数据转换为Microsoft Word文档。这个库主要利用Jacob组件,这是一个Java-COM Bridge,允许Java程序与Windows平台上的COM(Component Object Model)组件进行交互,尤其是处理...

    Java读取Word文档页数

    在Java编程环境中,读取和处理Word文档通常涉及到使用第三方库,因为Java标准库并不直接支持Word文件的操作。本主题将深入探讨如何利用给定的`itextpdf-5.5.9.jar`和`jacob.jar`这两个库来实现Java读取Word文档页数...

    Java导出Word文件

    在Java编程环境中,导出Word文件是一项常见的任务,特别是在企业级应用中,如报表生成、文档自动化等场景。本文将详细讲解如何使用Java实现Word文件的导出,并结合提供的资源进行解析。 首先,Java导出Word文件通常...

    Java通过word模板配置书签生成word

    "Java通过word模板配置书签生成word"是一个技术方案,它利用了Java的API来处理Microsoft Word文档,特别是Apache POI库,这是一种强大的工具,允许开发者在Java程序中创建、修改和展示MS Office格式的文件。...

    java aspose word 上传到服务器 导出的word 中文字体乱码 的问题 java aspose

    java aspose word 上传到服务器 导出的word 中文字体乱码 的问题 java aspose java aspose word 上传到服务器 导出的word 中文字体乱码 的问题 java aspose java aspose word 上传到服务器 导出的word 中文字体乱码 ...

    java实现word预览打印

    在IT行业中,尤其是在文档处理领域,Java是一种广泛使用的编程语言,可以实现各种复杂的功能,如动态生成模板Word文件,将其转换为PDF,并进行预览打印。以下是对标题、描述和标签所涉及知识点的详细说明: 1. **...

    JAVA 导出WORD

    这个项目可能包括了构建文件(如pom.xml)、源代码文件(如JavaWord.java)以及其他必要的配置。 标签中的"java导出word文档"、"jacob word导出"和"word导出图"暗示了这个项目可能还涵盖了在Word文档中插入图片的...

    java读取word2003

    在Java编程环境中,读取Word 2003文档是一项常见的任务,这通常涉及到处理`.doc`文件格式。为了实现这个功能,开发者可以利用各种库,如Apache POI或者JODConverter。Apache POI是一个流行的开源项目,它提供了对...

    java 实现 word 文档的在线预览

    在Java开发中,实现Word文档的在线预览是一项常见的需求,尤其在企业级应用中,例如文档管理系统或者协同办公平台。这项功能可以让用户无需下载原始文件就能查看文档内容,提高工作效率并减少服务器存储压力。本资源...

    Java读取Word表格内容

    通过Java读取word表格中的内容,将内容存到数据库中,将Word中的图片存到硬盘中

    java操作word(包含书签插值)

    Java作为一种广泛使用的编程语言,提供了多种库来操作Word文档,实现自动化填充模板,例如书签插值,这在合同制作中非常有用。本文将详细讲解如何使用Java操作Word,特别是针对书签插值的方法,以及相关的技术和工具...

    java替换word中的变量

    在Java编程环境中,替换Word文档中的变量是一项常见的需求,特别是在自动化文档生成或者模板处理的场景中。本知识点将深入探讨如何使用Java实现这一功能,主要涉及的库是Apache POI,这是一个广泛使用的开源库,用于...

    java操作word书签

    java操作word 实现了三个功能:模板填充,模板数据提取,格式颜色验证,具体解压jar包WordTest实例,注意针对word2007以上,书签要对应

    java给word文档插入水印并设置保护密码

    在Java编程环境中,处理Word文档是一项常见的任务,特别是在开发OA(办公自动化)系统时。本文将详细介绍如何使用Java为Word文档插入水印以及设置保护密码,以确保文档的安全性。 首先,我们需要一个能够操作...

Global site tag (gtag.js) - Google Analytics