Vorlage entfernen Zeile in JXLS, wenn die Eingabe-Liste ist leer
Ich bin mit JXLS zum Auffüllen einer Vorlage excel-Tabelle. Manchmal, eine Eingabe - eine Liste, die ist leer. Wenn dies geschieht, werden die Vorlage-Felder, die diese Liste verwenden, sind in den besiedelten Tabelle in voller JXLS regalia - zB, "${someList.someValue}
".
Den Bereichen in Frage, die sind alle in einer einzigen Zeile (erweitert list.size()
Zeilen JXLS). Ich will zum löschen der ganzen Zeile, wenn es keine Datensätze in der Liste.
Gibt es eine Möglichkeit, dies zu tun in JXLS? Alternativ, kann jemand empfehlen, eine Ergänzende Möglichkeit zur Nutzung JExcel oder OVI zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Sie verwenden können, <jx:wenn> - tags in der excel-Vorlage.
Zum Beispiel, wenn Sie eine Vorlage haben, die der folgenden ähnelt
Wenn someData ist nicht leer dann Zeilen gedruckt werden in der Ausgabe-aber wenn someData dann leer ist, werden keine Zeilen gedruckt werden, indem dieser Vorlage.
Ich hoffe, ich konnte deutlich machen. Bitte sehen http://jxls.sourceforge.net/reference/tags.html für weitere Informationen über tags.
Ich denke, das ist möglich via POI - vielleicht sogar POI-Objekt-Schnittstelle von JXLS:
Vom http://poi.apache.org/spreadsheet/how-to.html:
Ändern der Datei, die Sie gelesen haben, ist einfach. Rufen Sie das Objekt über einen Gutachter der Methode ist, entfernen Sie es über ein übergeordnetes Objekt die remove-Methode (Blatt.removeRow(hssfrow)) und die Objekte erstellen, so als würden Sie die Schaffung einer neuen xls. Wenn Sie fertig sind ändern der Zellen rufen Arbeitsmappe.schreiben(Ausgabestrom) genau wie oben.
Vom http://jxls.sourceforge.net/reference/customprocessor.html:
Mit Row-Objekt haben Sie Zugriff auf zugehörige POI-Objekte zu ändern Formatvorlage für die Zelle, wenn erforderlich.
Ein weiterer Grund, die Zeilen werden nicht angezeigt, basierend auf der jx:if-Bedingung ist, wenn da etwas Platz ist, bevor die jx:wenn tag