java 导出word文档
来源:互联网 发布:淘宝怎么打不开了 编辑:程序博客网 时间:2024/05/01 03:47
需要的jar包:itext-2.1.7.jar 和 itext-rtf-2.1.7.jar 【下载】
package test;import java.io.FileOutputStream;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Set; import com.lowagie.text.Document;import com.lowagie.text.DocumentException;import com.lowagie.text.Element;import com.lowagie.text.Font;import com.lowagie.text.PageSize;import com.lowagie.text.Paragraph;import com.lowagie.text.pdf.BaseFont;import com.lowagie.text.rtf.RtfWriter2; public class GetWord { private static Document document; private static BaseFont baseFont; //创建word,并设置纸张文档 private static void openWordFile(String fileName) throws DocumentException, IOException { document = new Document(PageSize.A4); RtfWriter2.getInstance(document, new FileOutputStream(fileName)); document.open(); baseFont = BaseFont.createFont(); } //设置标题 private static boolean setTitle(String title) throws DocumentException { Font font = new Font(baseFont, 12, Font.BOLD); Paragraph pTitle = new Paragraph(title + "\n"); pTitle.setFont(font); pTitle.setAlignment(Element.ALIGN_CENTER); return document.add(pTitle); } //设置文档内容 private static boolean setContent(String content) throws DocumentException { Font font = new Font(baseFont, 10, Font.NORMAL); Paragraph pContent = new Paragraph(content); pContent.setFont(font); pContent.setAlignment(Element.ALIGN_LEFT); pContent.setSpacingAfter(5); pContent.setFirstLineIndent(20); return document.add(pContent); } //对外使用的接口 public static boolean CreateWordFile(String url, String title, List<String> contents) { boolean returnValue = false; try { openWordFile(url); returnValue = setTitle(title); for (int i = 0; i < contents.size(); i++) { returnValue = returnValue && setContent(contents.get(i)); } document.close(); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return returnValue; } //对外使用的接口 public static boolean CreateWordFile(String url, String title, Map<problem,List<options>> contents) { boolean returnValue = false; try { openWordFile(url); returnValue = setTitle(title); Integer num = 1; for (problem pr : contents.keySet()) { String str = num +"、 "+pr.getQuestion(); returnValue = returnValue && setContent(str);if (contents.get(pr) != null) {for (options op : contents.get(pr)) {str = " " + op.getName() + ": " + op.getContents();returnValue = returnValue && setContent(str);}}else{returnValue = returnValue && setContent(null) && setContent(null);} num++; returnValue = returnValue && setContent(null); } document.close(); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return returnValue; } //对外使用的接口 public static boolean CreateWordFile(String url, String title, String content) { boolean returnValue = false; try { openWordFile(url); returnValue = setTitle(title); returnValue = returnValue && setContent(content); document.close(); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return returnValue; } public static void main(String[] args ) { GetWord wordUtil = new GetWord(); List<String> strList = new ArrayList<String>(); strList.add("哈哈哈哈"); strList.add("呵呵呵呵呵"); Map<problem,List<options>> contents = new HashMap<problem, List<options>>(); List<options> olist = new ArrayList<options>(); olist.add(new options("A", "呵呵 不知道")); olist.add(new options("B", "你说过,末日后,一起")); contents.put(new problem("你喜欢我吗?","b"), olist); List<options> list = new ArrayList<options>(); list.add(new options("A", "呵呵 不知道")); list.add(new options("B", "你说过,末日后,一起")); list.add(new options("C", "你下吧 ,我不想说了")); list.add(new options("D", "或许我们真的不合适")); contents.put(new problem("我们之间存在感情吗?","b"), list); contents.put(new problem("请解释,爱情到底是什么?","b"), null); //传入内容为String wordUtil.CreateWordFile("e:\\word.doc", "感情调查", "我说过的、哼");//传入内容为map wordUtil.CreateWordFile("e:\\word-map.doc", "感情调查", contents); //传入内容为List wordUtil.CreateWordFile("e:\\word-list.doc", "标题居中", strList); }}class options{private String name;private String contents;public options(String name, String content){this.contents = content;this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getContents() {return contents;}public void setContents(String contents) {this.contents = contents;}}class problem{private String question;private String answer;public problem(String q,String a){this.question = q;this.answer = a;}public String getQuestion() {return question;}public void setQuestion(String question) {this.question = question;}public String getAnswer() {return answer;}public void setAnswer(String answer) {this.answer = answer;}}
- java 导出word文档
- Java导出Word文档
- java导出word文档
- Java 导出 Word 文档
- java导出word文档
- Java导出Word文档案例
- Java POI导出Word文档
- freemarkerExportWord.java freemarker+xml导出Word文档
- Java用freemarker导出word文档
- java实现的导出word文档
- Java导出Word文档(可设置字体)
- java根据ftl模板导出word文档
- Java使用freemarker导出word文档
- java多种方式导出word文档
- java开发导出Excel和Word文档
- java 导出word格式的文档
- java poi导入导出word文档
- Java使用POI导出Word文档
- 数据结构---->图的遍历
- MPI Message Passing Interface
- Boost.Filesystem
- spring bean scope 的几种类型
- 谷歌地图发布海底街景地图
- java 导出word文档
- 字符串笔试题一
- poj 3625 Building Roads-Prim(最小生成树)
- 11.2.0.3+ASM 安装报 ohasd failed to start
- 美国在线地图软件测评:谷歌居首必应次之
- 开源的python web框架:web2py
- 时域和频域
- IO___C基础部分(EOF, 回车换行,getchar(), getch())
- Linux内存管理子系统