`

Java导出Word文档(可设置字体)

    博客分类:
  • java
阅读更多

前天由于新需求需要从java中导出word,然后就从网上开始搜集相关信息:

由于需要在UNIX下运行,最后决定采用Itext方法

package com.xxx.common;

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;

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 WordUtil {
 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,
   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 ) {
  WordUtil wordUtil = new WordUtil();
  List<String> strList = new ArrayList<String>();

//传入内容为字符串
  wordUtil.CreateWordFile("e:\\word.doc", "标题居中", "我爱Java");

//传入内容为字符串List
  //wordUtil.CreateWordFile("e:\\word.doc", "标题居中", strList);

 }
}

 

所需Jar包在附件

分享到:
评论
2 楼 jiaer0910 2013-11-06  
为什么会出现类型转换的错
1 楼 苍天百合 2013-01-11  
                     
引用
[u][/u][i][/i][b][/b]

    [*]
[img][/img][url][/url][url][/url][img][/img]
引用
[u][/u][i][/i][b][/b][color=orange][/color][size=xx-large][/size][align=center][/align]

相关推荐

    Java 使用iText生成word文档,有表格,图片,文本有颜色

    java 使用iText生成word文档,包中带有源码与所用jar包,生成文档格式标准。可分页,可带页眉,可生成表格、图片和文字等word元素内容,文字带字号,字体,颜色等。

    用Freemarker生成word文档

    如果你需要在word中添加图片,那你就在第一步制作模板时,加入一张图片占位,然后打开xml文档,可 以看到如下的一片base64编码后的代码: ……(很长,省略)…… 只要将base64的代码替换成例如:${image},如下:...

    使用IText生成PDF和WORD文档

    使用IText生成PDF和WORD文档 包括源码和IText所需jar包

    关于Java使用EasyExcel导出动态数据为Excel文件SpringBoot代码项目示例

    1、Java导出动态数据为Excel文件,具体示例可以参考:https://img-blog.csdnimg.cn/1cc86ee5dffa48669e2b97283585fad2.png 2、项目使用SpringBoot,Ali3.0.5版本的easyexcel框架。 3、资源内有具体的使用说明和易...

    poi导出多数据柱状图图表到ppt

    poi 3.17 资料为 demo + 模板 + 数据类 java 导出多数据 柱状图图表 到ppt

    java开源包5

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    JAVA上百实例源码以及开源项目

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    JAVA上百实例源码以及开源项目源代码

     Java波浪文字,一个利用Java处理字符的实例,可以设置运动方向参数,显示文本的字符数组,高速文本颜色,显示字体的 FontMetrics对象,得到Graphics实例,得到Image实例,填充颜色数组数据,初始化颜色数组。...

    java开源包11

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包4

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包6

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包101

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包9

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包8

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包10

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包3

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包1

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包2

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包7

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    Java资源包01

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

Global site tag (gtag.js) - Google Analytics