![[java,2017-05-04] 创建word文档 [java,2017-05-04] 创建word文档](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700)
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文档就被创建成功了。