Word中的table是要借助数据区域(DataRegion)实现的,要求数据区域完整的包含了整个Table的内容,这样才可以通过数据区域控制和操作table。因此,要想使用table,则必须在word文件中插入书签。
1、模板中添加表格以及数据区域实现赋值
工具栏“插入”→“表格”,然后选中整个表格之后“插入”→“书签”。
注:插入书签的时候一定要先选中整个table,然后再点击插入书签按钮进行插入。
PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
WordDocument doc = new WordDocument();
Table table1 = doc.openDataRegion("PO_regTable")..openTable(1);
for(int i=1;i<6;i++){
table1.openCellRC(i, 1).setValue("AA" + String.valueOf(i));
table1.openCellRC(i, 2).setValue("BB" + String.valueOf(i));
table1.openCellRC(i, 3).setValue("CC" + String.valueOf(i));
table1.openCellRC(i, 4).setValue("DD" + String.valueOf(i));
table1.openCellRC(i, 5).setValue("EE" + String.valueOf(i));
}
poCtrl.setWriter(doc);//不要忘记此行代码
2、在程序中动态添加数据区域以及表格
WordDocument doc = new WordDocument();
DataRegion data = doc.createDataRegion("PO_regTable" ,DataRegionInsertType.Before, "[End]");
Table table2=data .createTable(5,5,WdAutoFitBehavior.wdAutoFitWindow);
//给新表格table2赋值
for(int i=1;i<6;i++){
table2.openCellRC(i, 1).setValue("AA" + String.valueOf(i));
table2.openCellRC(i, 2).setValue("BB" + String.valueOf(i));
table2.openCellRC(i, 3).setValue("CC" + String.valueOf(i));
table2.openCellRC(i, 4).setValue("DD" + String.valueOf(i));
table2.openCellRC(i, 5).setValue("EE" + String.valueOf(i));
}
poCtrl.setWriter(doc);//不要忘记此行代码