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

  • 相关阅读:
    【SignalR学习系列】3. SignalR实时高刷新率程序
    【SignalR学习系列】4. SignalR广播程序
    【SignalR学习系列】5. SignalR WPF程序
    python gb2312 转换为 utf-8
    爬虫 需要什么样的 CPU,内存 和带宽
    TypeError: sequence item 0: expected string, Tag found
    MySQL 数据的 截取,数据清洗
    MySQL (1366, "Incorrect string value: '\xF0\x9F\x8E\xAC\xE5\x89...' for column 'description' at row 1")
    微博爬虫 ----- 微博发布时间清洗
    ReferenceError: weakly-referenced object no longer exists Python kafka
  • 原文地址:https://www.cnblogs.com/shijt/p/8991058.html
Copyright © 2020-2023  润新知