码农公社 210是何含义?10月24日是程序员节,1024 =210、210既
210
之意。
Java 获取、删除Word文本框中的表格
本文介绍如何来获取Word文本框中包含的表格,以及删除表格。
程序测试环境:
IDEA
JDK 1.8.0
Spire.Doc.jar
注:jar导入,可通过创建Maven程序项目,并在pom.xml中配置Maven仓库路径,并指定Free Spire.Doc for Java的Maven依赖,点击“Import Changes”即可导入JAR包。(如果使用的Eclipse, 点击保存按钮导入),配置如下:
com.e-iceblue
http://repo.e-/repository/maven-public/
e-iceblue
spire.doc.free
2.7.3
导入效果:
另外,也可通过下载jar包,手动导入Spire.Doc.jar到Java程序。
Word测试文档如下,包含一个表格:
Java代码
获取Word文本框中的表格
importcom.spire.doc.*;
importcom.spire.doc.documents.Paragraph;
importcom.spire.doc.fields.TextBox;
importjava.io.BufferedWriter;
importjava.io.File;
importjava.io.FileWriter;
importjava.io.IOException;
publicclassExtractTable{
publicstaticvoidmain(String[]args)throwsIOException{
//加载Word测试文档
Documentdoc=newDocument();
doc.loadFromFile("210.cx.docx");
//获取第一个文本框
TextBoxtextbox=doc.getTextBoxes().get(0);
//获取文本框中第一个表格
Tabletable=textbox.getBody().getTables().get(0);
//保存文本
Stringoutput="EtractTableFromTextbox.txt";
Filefile=newFile(output);
if(!file.exists()){
file.delete();
}
file.createNewFile();
FileWriterfw=newFileWriter(file,true);
BufferedWriterbw=newBufferedWriter(fw);
//遍历表格中的段落并提取文本
for(inti=0;i
TableRowrow=table.getRows().get(i);
for(intj=0;j
TableCellcell=row.getCells().get(j);
for(intk=0;k
Paragraphparagraph=cell.getParagraphs().get(k);
bw.write(paragraph.getText()+"");
}
}
bw.write("
");
}
bw.flush();
bw.close();
fw.close();
}
}
表格内容获取结果:
2. 删除Word文本框中的表格
importcom.spire.doc.*;
importcom.spire.doc.fields.TextBox;
publicclassDeleteTableInTextbox{
publicstaticvoidmain(String[]args){
//加载Word测试文档
Documentdoc=newDocument();
doc.loadFromFile("210.cx.docx");
//获取第一个文本框
TextBoxtextbox=doc.getTextBoxes().get(0);
//获取文本框中第一个表格
textbox.getBody().getTables().get(0);
//删除第一个表格
textbox.getBody().getTables().removeAt(0);
//保存文档
doc.saveToFile("DeleteTableInTextbox.docx",FileFormat.Docx_);
doc.dispose();
}
}
表格删除结果: