java 生成动态word文档
来源:互联网 发布:如何认识网络交友 编辑:程序博客网 时间:2024/06/05 06:57
1.我们先需要弄个word文档模板内容改成
2.把word文档另存为xml 然后重命名为 ftl格式
3.用文本编辑器去掉多余的内容 弄成下面这样既可
4.java代码
public void download(String id,HttpServletRequest request,HttpServletResponse response){
try {
ProjectManage entity = this.baseDAO.get(id);
request.setCharacterEncoding("utf-8");
String itemName = entity.getReviewProject().getReviewItem().getItemName();//项目类型名称
Map<String, Object> map = beanToMap(entity);
String file_name = "";//导出标题
String file = "";//ftil 文件名称
if(itemName == "工作站" || itemName.equals("工作站")){//工作站word下载
file_name = "工作站.doc";
file = "workstation.ftl";
}else{//申报项目word下载
file_name = "申请书.doc";
file = "project.ftl";
}
file_name = new String(file_name.getBytes(), "ISO-8859-1");//导出标题设置字符集
Configuration configuration = new Configuration();
configuration.setDefaultEncoding("utf-8");
configuration.setDirectoryForTemplateLoading(new File(request.getRealPath("/")+"/_file/download"));//指定ftl所在目录,根据自己的改
response.setContentType("application/msword");
response.setHeader("Content-Disposition", "attachment;filename="+file_name);
response.setCharacterEncoding("utf-8");//此句非常关键,不然word文档全是乱码
PrintWriter out = response.getWriter();
Template t = configuration.getTemplate(file,"utf-8");//以utf-8的编码读取ftl文件
t.process(map, out);
out.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 日志
this.operateLogService.addOperateLog(entityClass.getSimpleName(), "download", id);
}
/**
* 对象转map
* @Title: beanToMap
* @Description:
* @param <T>
* @param bean
* @return
*/
public <T> Map<String, Object> beanToMap(T bean) {
Map<String, Object> map = new HashMap<String, Object>();
if (bean != null) {
BeanMap beanMap = BeanMap.create(bean);
for (Object key : beanMap.keySet()) {
map.put(key+"", beanMap.get(key) != null ? beanMap.get(key) : "");
}
}
return map;
}
- java 生成动态word文档
- Java生成word文档
- JAVA生成Word文档
- JAVA生成Word文档
- JAVA生成Word文档
- java 生成word文档
- java生成word文档
- java生成word文档
- java 生成word文档
- JAVA生成Word文档
- java 生成word文档
- java 生成word文档
- C# 动态生成Word文档
- 实现动态生成Word文档
- 动态数据生成Word文档
- 基于Java模板技术动态生成Word文档
- 关于用java编写生成word文档,动态添加数据到word文档的一些心得
- 用java生成word文档
- inline内联函数(声明前加inline还是定义前加inline)
- 微信开放平台 解密component_verify_ticket 交流 学习
- English in September(2017)
- Moto X Force公布系统源代码:ROM开发者可以动工了
- java 中返回状态码
- java 生成动态word文档
- [S3-E429]CSS布局说——可能是最全的
- [S3-E422]你不知道的CSS(二)
- 医疗器械安全知识小科普
- redis使用
- 你的代码真的很烂
- 【S3-E426】移动web开发问题和优化小结
- [S3-E423]Web 的现状:网页性能提升指南
- [S3-E428]深入浅出基于“依赖收集”的响应式原理