java用freemarker实现导出word----包含图片
2017-06-15 14:35
816 查看
分为以下三个步骤:
1.先制作word模板
2.将该文档另存为 xml 文件
3.打开xml 文件
将对应的字段替换,比如
4.将xml文件保存成ftl格式的文档
5.相应的代码:
1.先制作word模板
2.将该文档另存为 xml 文件
3.打开xml 文件
将对应的字段替换,比如
4.将xml文件保存成ftl格式的文档
5.相应的代码:
1 package org.lq.ssm.gp.controller; 2 3 import java.io.BufferedWriter; 4 import java.io.File; 5 import java.io.FileInputStream; 6 import java.io.FileNotFoundException; 7 import java.io.FileOutputStream; 8 import java.io.IOException; 9 import java.io.InputStream; 10 import java.io.OutputStreamWriter; 11 import java.io.Writer; 12 import java.util.ArrayList; 13 import java.util.HashMap; 14 import java.util.List; 15 import java.util.Map; 16 17 import sun.misc.BASE64Encoder; 18 19 import freemarker.template.Configuration; 20 import freemarker.template.Template; 21 import freemarker.template.TemplateException; 22 23 public class wordController { 24 25 private Configuration configuration = null; 26 27 public wordController(){ 28 configuration = new Configuration(); 29 configuration.setDefaultEncoding("UTF-8"); 30 } 31 32 public static void main(String[] args) { 33 wordController test = new wordController(); 34 test.createWord(); 35 } 36 37 public void createWord(){ 38 Map<String,Object> dataMap=new HashMap<String,Object>(); 39 getData(dataMap); 40 41 System.out.println(this.getClass().getResource("/util")); 42 configuration.setClassForTemplateLoading(this.getClass(), "/controller"); //FTL文件所存在的位置 43 Template t=null; 44 try { 45 46 t = configuration.getTemplate("baodan2.ftl"); //文件名 47 } catch (IOException e) { 48 e.printStackTrace(); 49 } 50 File outFile = new File("H:/baodan/baodan.doc"); 51 Writer out = null; 52 try { 53 out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile))); 54 } catch (FileNotFoundException e1) { 55 e1.printStackTrace(); 56 } 57 58 try { 59 t.process(dataMap, out); 60 } catch (TemplateException e) { 61 e.printStackTrace(); 62 } catch (IOException e) { 63 e.printStackTrace(); 64 } 65 } 66 67 private void getData(Map<String, Object> dataMap) { 68 69 List<Map<String,Object>> list = new ArrayList<Map<String,Object>>(); 70 dataMap.put("name", ""); 71 dataMap.put("username", ""); 72 dataMap.put("userzjh", ""); 73 dataMap.put("userQygs", ""); 74 dataMap.put("image", getImageStr()); 75 76 } 77 private String getImageStr() { 78 String imgFile = "H:\\JT1.jpg"; 79 80 InputStream in = null; 81 byte[] data = null; 82 try { 83 in = new FileInputStream(imgFile); 84 data = new byte[in.available()]; 85 in.read(data); 86 in.close(); 87 } catch (IOException e) { 88 e.printStackTrace(); 89 } 90 BASE64Encoder encoder = new BASE64Encoder(); 91 return encoder.encode(data); 92 } 93 94 }
相关文章推荐
- java实现导出word功能(包含图片)一
- Java实现用Freemarker完美导出word文档(带图片)
- java word 导出(FreeMarker,HTML模板,包含图片)
- java 调用jacob和java2word导出word,并实现将带有格式的html文本和图片插入word
- 使用freemarker导出word文档包含多张图片
- Java 用Freemarker完美导出word文档(带图片)
- JAVA Freemarker 导出word文档实例带有图片
- java导出word(2003版doc格式) FreeMarker+XML实现
- java用freemarker导出数据到word(含多图片)
- java实现将文件(包含word,excel,图片等)转PDF
- java导出2007版word(docx格式)freemarker + xml 实现
- Java 使用Freemarker导出word 文档,解决当一段内容中既有文字又有图片的问题
- java freemarker模板 实现word文件导出
- java基于freemarker导出指定word格式带多图片源码。
- JAVA FreeMarker导出word含图片
- java导出2007版word(docx格式)freemarker + xml 实现
- java 使用freemarker 导出word 和图片
- java freemarker 实现word文件导出
- Java使用freemarker导出word和excel
- php导出word(可包含图片)