1、poi之word文檔結(jié)構(gòu)介紹之正文段落
一個(gè)文檔包含多個(gè)段落,一個(gè)段落包含多個(gè)Runs,一個(gè)Runs包含多個(gè)Run,Run是文檔的最小單元
獲取所有段落:List<XWPFParagraph> paragraphs = word.getParagraphs();
獲取一個(gè)段落中的所有Runs:List<XWPFRun> xwpfRuns = xwpfParagraph.getRuns();
獲取一個(gè)Runs中的一個(gè)Run:XWPFRun run = xwpfRuns.get(index);
2、poi之word文檔結(jié)構(gòu)介紹之正文表格
一個(gè)文檔包含多個(gè)表格,一個(gè)表格包含多行,一行包含多列(格),每一格的內(nèi)容相當(dāng)于一個(gè)完整的文檔
獲取所有表格:List<XWPFTable> xwpfTables = doc.getTables();
獲取一個(gè)表格中的所有行:List<XWPFTableRow> xwpfTableRows = xwpfTable.getRows();
獲取一行中的所有列:List<XWPFTableCell> xwpfTableCells = xwpfTableRow.getTableCells();
獲取一格里的內(nèi)容:List<XWPFParagraph> paragraphs = xwpfTableCell.getParagraphs();
之后和正文段落一樣
注:
表格的一格相當(dāng)于一個(gè)完整的docx文檔,只是沒(méi)有頁(yè)眉和頁(yè)腳。里面可以有表格,使用xwpfTableCell.getTables()獲取,and so on
在poi文檔中段落和表格是完全分開(kāi)的,如果在兩個(gè)段落中有一個(gè)表格,在poi中是沒(méi)辦法確定表格在段落中間的。(當(dāng)然除非你本來(lái)知道了,這句是廢話)。只有文檔的格式固定,才能正確的得到文檔的結(jié)構(gòu)
3、poi之word文檔結(jié)構(gòu)介紹之頁(yè)眉:
一個(gè)文檔可以有多個(gè)頁(yè)眉(不知道怎么會(huì)有多個(gè)頁(yè)眉。。。),頁(yè)眉里面可以包含段落和表格
獲取文檔的頁(yè)眉:List<XWPFHeader> headerList = doc.getHeaderList();
獲取頁(yè)眉里的所有段落:List<XWPFParagraph> paras = header.getParagraphs();
獲取頁(yè)眉里的所有表格:List<XWPFTable> tables = header.getTables();
之后就一樣了
4、poi之word文檔結(jié)構(gòu)介紹之頁(yè)腳:
頁(yè)腳和頁(yè)眉基本類似,可以獲取表示頁(yè)數(shù)的角標(biāo)
轉(zhuǎn)發(fā)地址
http://www.cnblogs.com/Springmoon-venn/p/5494602.html
posted on 2018-05-15 10:13
lameer 閱讀(429)
評(píng)論(0) 編輯 收藏