import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.xwpf.usermodel.XWPFTable;
import org.apache.poi.xwpf.usermodel.XWPFTableCell;
import org.apache.poi.xwpf.usermodel.XWPFTableRow;
public class WordTablePages2 {
public static void main(String[] args) throws Exception {
String sourceFile = "E:/nctcFile/报告/dengji.docx";
String targetFile = "E:/nctcFile/报告/result.docx";
// mergeColumeAndRow(sourceFile, targetFile);
// setPageOfTable();
// setWordTotalPage(null,null);
// mergeColumeAndRow(sourceFile, targetFile);
setPagesInTable(sourceFile, targetFile);
// getRepeatTableHeader(sourceFile);
}
/*
* 设置文档中的表格占页
*/
public static void setPagesInTable(String sourceFile, String targetFile) {
//获取每个表格的占页信息,存到一个map中
Map pageMap = new HashMap();
pageMap = WordTablePages2.getPagesInTable(sourceFile, targetFile);
/*
* 从后往前,开始赋值
* 然后生成最后的目标文件
*/
try {
XWPFDocument doc = new XWPFDocument(new FileInputStream(sourceFile));
List doctables = doc.getTables();
for(int i = doctables.size() -1; i >=0; i--) {
for(XWPFTableCell cell : doctables.get(i).getRow(0).getTableCells()) {
if(cell.getText().contains("第table") && cell.getText().contains("页")) {//找到“第table几页”
int start = cell.getText().indexOf("第");
int end = cell.getText().indexOf("页