zoukankan      html  css  js  c++  java
  • Java生成word文档

    itext-rtf-2.1.7.jar,下载地址:http://download.csdn.net/detail/xuxu198899223/7717727



    package word;
    
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.util.ArrayList;
    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,并设置纸张文档
         * @param filePath  文档路径  
         * @throws DocumentException
         * @throws IOException
         */
        private static void openWordFile(String filePath) throws DocumentException, IOException {
            document = new Document(PageSize.A4);
            RtfWriter2.getInstance(document, new FileOutputStream(filePath));
            document.open();
            baseFont = BaseFont.createFont();
        }
    
        /**
         * 设置标题
         * @param title  标题
         * @return
         * @throws DocumentException
         */
        private static boolean setTitle(String title) throws DocumentException {
            Font font = new Font(baseFont, 12, Font.BOLD);
            Paragraph pTitle = new Paragraph(title + "
    ");
            pTitle.setFont(font);
            pTitle.setAlignment(Element.ALIGN_CENTER);
            return document.add(pTitle);
        }
    
        /**
         * 设置文档内容
         * @param content文档内容 
         * @return
         * @throws DocumentException
         */
        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);
        }
    
        /**
         * 创建丰富内容的word文档
         * @param filePath  文档保存地址
         * @param title  文档标题
         * @param contents  文档内容
         * @return
         */
        public static boolean CreateWordFile(String filePath, String title, List<String> contents) {
            boolean returnValue = false;
            try {
                openWordFile(filePath);
                returnValue = setTitle(title);
                for (int i = 0; i < contents.size(); i++) {
                    returnValue = returnValue && setContent(contents.get(i));
                }
                document.close();
            } catch (DocumentException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return returnValue;
        }
    
        /**
         * 创建单一内容的word文档
         * @param filePath  文档保存地址
         * @param title   文档标题
         * @param content  文档内容
         * @return
         */
        public static boolean CreateWordFile(String filePath, String title, String content) {
            boolean returnValue = false;
            try {
                openWordFile(filePath);
                returnValue = setTitle(title);
                returnValue = returnValue && setContent(content);
                document.close();
            } catch (DocumentException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return returnValue;
        }
    
        @SuppressWarnings({ "unused", "static-access" })
        public static void main(String[] args) {
            WordUtil wordUtil = new WordUtil();
            List<String> strList = new ArrayList<String>();
            //传入内容为字符串
            wordUtil.CreateWordFile("C:\word.doc", "标题居中", "我爱Java");
            //传入内容为字符串List
            //wordUtil.CreateWordFile("e:\word.doc", "标题居中", strList);
        }
    }


  • 相关阅读:
    TLS回调函数
    MySQL-based databases CVE-2016-6664 本地提权
    go语文中panic的使用
    Redis实现分布式锁与任务队列的思路
    mysql添加权限权限用户
    php压缩html代码减少页面响应时间
    Docker搭建nginx+php-fpm运行环境
    vscode使用phpxdebug调试
    PHP7引用类型
    PHPFPM模式三种运行模式
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/5330626.html
Copyright © 2011-2022 走看看