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文档就被创建成功了。

  • 相关阅读:
    .NET互操作技术杂谈
    VS2008 Remote Debug HOW TO
    Entity Framework一对多关系或一对一关系删除子对象的方法
    Associations in EF Code First: Part 1 – Introduction and Basic Concepts
    如何管理Entity Framework中得事务
    在asp.net mvc3中编译视图文件
    entity framework中对关系使用默认规则与配置
    使用Entity Framework时动态生成lamda表达式
    asp.net mvc 身份验证中返回绝对路径的ReturnUrl
    Entity Framework 事务处理SaveChanges(false)
  • 原文地址:https://www.cnblogs.com/shijt/p/8991058.html
Copyright © 2011-2022 走看看