Salut à tous,
Pour être plus précis que le titre je voudrais avoir la main sur les cellules d'un tableau word, afin de pourvoir gérer mon affichage dans n'importe quel composant.
J'ai trouvé un code à peu pré correct mais je pense que ce n'est pas du java 6 car il y a plusieurs méthode que la classe Range ne reconnait pas.
MERCI d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 package word; import java.io.FileInputStream; import org.apache.poi.sl.usermodel.TableCell; import org.apache.poi.wp.usermodel.Paragraph; import org.apache.poi.xwpf.extractor.XWPFWordExtractor; import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.xmlbeans.StringEnumAbstractBase.Table; import org.w3c.dom.ranges.Range; public class WordExtractor { public static void main(String[] args) throws Exception { XWPFDocument docx = new XWPFDocument(new FileInputStream( "M:\\Create_table.docx")); // using XWPFWordExtractor Class XWPFWordExtractor we = new XWPFWordExtractor(docx); Range range = docx.getRange(); for (int i=0; i<range.getEndOffset()numParagraphs(); i++){ Paragraph tablePar = range.getParagraph(i); if (tablePar.isInTable()) { Table table = range.getTable(tablePar); for (int rowIdx=0; rowIdx<table.numRows(); rowIdx++) { for (int colIdx=0; colIdx<row.numCells(); colIdx++) { TableCell cell = row.getCell(colIdx); System.out.println("column="+cell.getParagraph(0).text()); } } } } we.close(); docx.close(); } }![]()
![]()
Partager