Ho un documento word che può avere n numero di tabelle. La tabella è identificata dal nome della tabella che è scritto nella prima cella come intestazione. Ora devo trovare la tabella con il nome della tabella e scrivere in una delle celle di quel tavolo. Ho provato ad usare apache-poi per lo stesso, ma non sono riuscito a capire come usarlo per il mio scopo. Si prega di fare riferimento alla schermata allegata, se non sono in grado di spiegare come appare il documento.Trova una tabella in una parola e scrivi in quella tabella utilizzando java
Grazie
String fileName = "E:\\a1.doc";
if (args.length > 0) {
fileName = args[0];
}
InputStream fis = new FileInputStream(fileName);
POIFSFileSystem fs = new POIFSFileSystem(fis);
HWPFDocument doc = new HWPFDocument(fs);
Range range = doc.getRange();
for (int i=0; i<range.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());
}
}
}
}
questo è quello che ho provato, ma questa legge solo il primo tavolo.
@ADG, si dovrebbe postare come risposta. POI è definitivamente la biblioteca di parole più matura. – tom
rimosso tag di selenio .. non so perché lo hai collegato –
@tom incollato come risposta;) –