doc 파일에서 테이블을 읽을 수 있습니다. (다음 코드를 참조하십시오)Apache POI를 사용하여 docx 파일의 테이블 읽기
public String readDocFile(String filename, String str) {
try {
InputStream fis = new FileInputStream(filename);
POIFSFileSystem fs = new POIFSFileSystem(fis);
HWPFDocument doc = new HWPFDocument(fs);
Range range = doc.getRange();
boolean intable = false;
boolean inrow = false;
for (int i = 0; i < range.numParagraphs(); i++) {
Paragraph par = range.getParagraph(i);
//System.out.println("paragraph "+(i+1));
//System.out.println("is in table: "+par.isInTable());
//System.out.println("is table row end: "+par.isTableRowEnd());
//System.out.println(par.text());
if (par.isInTable()) {
if (!intable) {//System.out.println("New table creating"+intable);
str += "<table border='1'>";
intable = true;
}
if (!inrow) {//System.out.println("New row creating"+inrow);
str += "<tr>";
inrow = true;
}
if (par.isTableRowEnd()) {
inrow = false;
} else {
//System.out.println("New text adding"+par.text());
str += "<td>" + par.text() + "</td>";
}
} else {
if (inrow) {//System.out.println("Closing Row");
str += "</tr>";
inrow = false;
}
if (intable) {//System.out.println("Closing Table");
str += "</table>";
intable = false;
}
str += par.text() + "<br/>";
}
}
} catch (Exception e) {
System.out.println("Exception: " + e);
}
return str;
}
아무도 내가 docx 파일과 동일한 작업을 수행 할 수 있습니까? 나는 그것을하려고 노력했다. 그러나 '범위'클래스의 대체를 찾을 수 없습니다.
도와주세요.
당신은 [아파치 POI XWPF 표 예]보고 시도해 봤어 (http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/SimpleTable.java)? 언뜻 보면, 그게 당신을 커버해야합니다 ... – Gagravarr
고마워요 닉 ... –
@Gagravarr 왜 대답하지 않습니까? :) – Szundi