zoukankan      html  css  js  c++  java
  • [java,2017-05-04] 创建word文档

    package test;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import com.aspose.words.DataColumnCollection;
    import com.aspose.words.DataRow;
    import com.aspose.words.DataTable;
    import com.aspose.words.Document;
    import com.aspose.words.License;
    import com.aspose.words.MailMerge;
    
    public class CreateWord {
        public static void main(String[] args) {
            
            String tPath = "e:/a.doc";
            String path = "e:/muban.doc";
            
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String date=sdf.format(new Date());
             
            DataTable table=new DataTable("table");
            DataColumnCollection dcc = table.getColumns();
            dcc.add("col0"); //0 序号
            dcc.add("col1"); //列1
            dcc.add("col2");   //列2
            dcc.add("col3");   //列3
            
            for(int i=0;i<3;i++){
                DataRow row = table.newRow(); //新增一行 
                row.set(0, i+1); //序号
                row.set(1, "行"+(i+1)+"列1");  //列1
                row.set(2, "行"+(i+1)+"列2");  //列2
                row.set(3, "行"+(i+1)+"列3");  //列3
                table.getRows().add( row );   //加入此行数据
            }
            
            //模板文件和将要创建的新文件
            String template = path;  //可以是doc或docx
            String destdoc = tPath;  //可以是doc或docx
            Document doc; 
            try{
                //第一步 加载授权文件
                License license = new License();
                license.setLicense( "e:/lic.xml" );
                System.out.println("授权成功");
                System.out.println("Start create Word...");
                //第二步 读取word模板文件,可以是.doc或者.docx
                doc = new Document( template );
                //合并模版,相当于页面的渲染 
                MailMerge mm = doc.getMailMerge();
                mm.executeWithRegions( table ); //调用接口
                
                //提供数据源
                String[] ks = {"date","content"};
                Object[] vs = {date,"hello,word"};
                mm.execute(ks, vs);
                doc.save( destdoc );
                System.out.println("End create Word...");
            }catch (Exception e) {
                e.printStackTrace();
            }
            
        }
    }

    java创建word文档,首先要有文档模板。

    创建一个普通的word文档后,插入域,选择mergeField,输入域名(用于和代码中对应)

    文档模板建好后效果如下:

    可以插入文字、表格和图片,这里没有显示插入图片的功能。

    创建好模板后,执行代码,效果如下:

    这样,word文档就被创建成功了。

  • 相关阅读:
    设计模式复习【1】- 设计原则
    Java8的学习笔记
    Gson关于抽象类的序列化与反序列化
    关于一个Java web与JFrame的深度结合
    《重构》笔记
    JAVA8 Stream API总结的好的文章 —— 持续更
    Spring Boot引入Thymeleaf前端框架的诸多问题
    敏捷开发:原则,模式与实践——第8章 单一职责原则SRP
    maven 你应该懂得那些事
    redis之单机和主从环境搭建
  • 原文地址:https://www.cnblogs.com/shijt/p/8991058.html
Copyright © 2011-2022 走看看