java 生成word文件并下载
更新时间:2023-12-03 19:13:01 阅读量: 教育文库 文档下载
- java是什么意思推荐度:
- 相关推荐
importjava.io.BufferedInputStream; importjava.io.BufferedOutputStream; importjava.io.BufferedWriter; importjava.io.File;
importjava.io.FileInputStream; importjava.io.FileOutputStream; importjava.io.IOException; importjava.io.InputStream; importjava.io.OutputStream;
importjava.io.OutputStreamWriter; importjava.io.Writer;
importjava.net.URLEncoder; importjava.util.Map;
importjavax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger;
importfreemarker.template.Configuration; importfreemarker.template.Template; /**
* @Desc:word操作工具类 */
public class WordUtil { private static Logger log = Logger.getLogger(WordUtil.class); /**
* @Desc:生成word文件 * @paramdataMap word中需要展示的动态数据,用map集合来保存 * @paramtemplateName word模板名称,例如:test.ftl * @paramfilePath文件生成的目标路径,例如:D:/wordFile/ * @paramfileName生成的文件名称,例如:test.doc */ public static void createWord(Map
//创建配置实例
Configuration configuration = new Configuration();
//设置编码
configuration.setDefaultEncoding(\
//ftl模板文件
File file = new File(filePath); configuration.setDirectoryForTemplateLoading(file);
//获取模板
Template template = configuration.getTemplate(templateName);
//输出文件
File outFile = new File(filePath + File.separator + fileName);
//如果输出目标文件夹不存在,则创建 if (!outFile.getParentFile().exists()){ outFile.getParentFile().mkdirs(); }
//将模板和数据模型合并生成文件 Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile),\
//生成文件
template.process(dataMap, out);
//关闭流 out.flush(); out.close();
} catch (Exception e) {
log.error(\生成 word文档(WordUtil)出错:【msg:\】 ,文件名:\+ fileName);
e.printStackTrace(); } } /** * 文件下载 * @param path 文件路径全路径,包含文件名 * @param response * @return */ public static HttpServletResponsedownFile(String path, HttpServletResponse response) { try { // path是指欲下载的文件的路径。 File file = new File(path); // 取得文件名。 String filename = file.getName(); // 以流的形式下载文件。 InputStreamfis = new BufferedInputStream(new FileInputStream(file)); byte[] buffer = new byte[fis.available()];
}
fis.read(buffer); fis.close();
// 清空response response.reset();
// 设置response的Header
String fileName = URLEncoder.encode(filename,\if(fileName.length()>150){ //解决IE 6.0 bug fileName=new String(filename.getBytes(\ }
response.addHeader(\response.addHeader(\
OutputStreamtoClient = new BufferedOutputStream(response.getOutputStream()); response.setContentType(\toClient.write(buffer); toClient.flush(); toClient.close();
file.delete();
} catch (IOException e) { log.error(\下载文档(WordUtil)出错:【msg:\】 \e.printStackTrace(); }
return response; }
正在阅读:
java 生成word文件并下载12-03
母爱真让我感动作文800字07-04
元发展社会主义民主政治第五课第二框人民代表大会制度我国的根本04-02
《灵枢&183;经筋》篇经义初探06-02
小学施组 - 图文10-11
幼儿园中班体育说课稿 过河10-07
电气绝缘电阻测试记录09-03
什么的目光作文02-04
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 生成
- 文件
- 下载
- java
- word