MSWordManager msWordManager = MSWordManager.getMSWordManager();
msWordManager.openDocument(“Z:\检测3-校准证书格式2019.doc”);
Dispatch tables = Dispatch.get(msWordManager.getDoc(), “Tables”).toDispatch();
// 获取表格数目
int tablesCount = Dispatch.get(tables,"Count").toInt();
//System.out.println("tablesCount:"+tablesCount);
// 循环获取表格
for(int i=1;i<=tablesCount;i++) {
// 获取第i个表格
Dispatch table = Dispatch.call(tables, "Item", new Variant(i)).toDispatch();
Dispatch tabless = Dispatch.get(table, "Tables").toDispatch();
int tablesCounts = Dispatch.get(tabless,"Count").toInt();
for(int o = 1;o<=tablesCounts;o++){
Dispatch tablessss = Dispatch.call(tabless, "Item", new Variant(o)).toDispatch();
// 获取该表格所有行
Dispatch rows = Dispatch.get(tablessss, "Rows").toDispatch();
// 获取该表格所有列
Dispatch columns = Dispatch.get(tablessss, "Columns").toDispatch();
// 获取该表格行数
int rowsCount = Dispatch.get(rows, "Count").toInt();
// 获取该表格列数
int columnsCount = Dispatch.get(columns, "Count").toInt();
//System.out.println("第"+i+"个表格:行:"+rowsCount+"列:"+columnsCount);
for(int row_i=1 ; row_i<=rowsCount ; row_i++){
//获取当前行
//Dispatch row = Dispatch.call(rows, "Item", new Variant(row_i)).toDispatch();
//获取当前行的列数
//Dispatch columns_row = Dispatch.call(row, "Columns").toDispatch();
//int columns_row_Count = Dispatch.get(columns_row, "Count").toInt();
//System.out.println("每行列数:"+columns_row_Count);
for(int col_i=1 ; col_i<=columnsCount ; col_i++) {
try {
Dispatch cell = Dispatch.call(tablessss, "Cell", new Variant(row_i),new Variant(col_i)).toDispatch();
Dispatch Range=Dispatch.get(cell,"Range").toDispatch();
String t=Dispatch.get(Range,"Text").toString();
//公司内网及本地测试编码
/*String s=new String(t.getBytes("utf-8"));*/
//中车内网测试环境编码
String s=new String(t.getBytes("utf-8"));
System.out.println("外层第"+i+"个表格,内层第"+o+"个表格,值="+s.replace("","").trim());
//wrod.putTxtToCell(i,row_i,col_i,"");
} catch (UnsupportedEncodingException e) {
continue;
} catch (Exception e) {
e.printStackTrace();
continue;
}
}
}
}
// 获取该表格所有行
Dispatch rows = Dispatch.get(table, "Rows").toDispatch();
// 获取该表格所有列
Dispatch columns = Dispatch.get(table, "Columns").toDispatch();
// 获取该表格行数
int rowsCount = Dispatch.get(rows, "Count").toInt();
// 获取该表格列数
int columnsCount = Dispatch.get(columns, "Count").toInt();
//System.out.println("第"+i+"个表格:行:"+rowsCount+"列:"+columnsCount);
for(int row_i=1 ; row_i<=rowsCount ; row_i++) {
//获取当前行
//Dispatch row = Dispatch.call(rows, "Item", new Variant(row_i)).toDispatch();
//获取当前行的列数
//Dispatch columns_row = Dispatch.call(row, "Columns").toDispatch();
//int columns_row_Count = Dispatch.get(columns_row, "Count").toInt();
//System.out.println("每行列数:"+columns_row_Count);
for (int col_i = 1; col_i <= columnsCount; col_i++) {
try {
Dispatch cell = Dispatch.call(table, "Cell", new Variant(row_i), new Variant(col_i)).toDispatch();
Dispatch Range = Dispatch.get(cell, "Range").toDispatch();
String t = Dispatch.get(Range, "Text").toString();
//公司内网及本地测试编码
/*String s=new String(t.getBytes("utf-8"));*/
//中车内网测试环境编码
String s = new String(t.getBytes("utf-8"));
System.out.println("外层第" + i + "个表格,值=" + s.replace("", "").trim());
//wrod.putTxtToCell(i,row_i,col_i,"");
} catch (UnsupportedEncodingException e) {
continue;
} catch (Exception e) {
continue;
}
}
}
}