2017-04-18 4 views
0
XSSFCellStyle xssfCellStyle = (XSSFCellStyle) cellStyle; 
     xssfCellStyle.setFillForegroundColor(new XSSFColor(color)); 
     xssfCellStyle.setFillPattern(XSSFCellStyle.DIAMONDS); 

Excel Erstellen Hey,Effekte hinzufügen, füllen für mit Apache poi

ich in der Lage bin für meine exportierten Excel alle Muster Stile festlegen, kann ich aus Excel erreichen, aber wie kann ich die „Set Fülleffekt ... "über Apache Poi. Gibt es eine Möglichkeit?

Vielen Dank für Ihre Hilfe

PS: Bild zeigt, was ich von Muster Stil bedeuten und Fülleffekten

picture of excel: format cell editor

Antwort

1

Apache POI hat zur Zeit keine Unterstützung für die „Fülleffekte. .. "in der High-Level-API.

Aber der Low-Level-API aus den Spezifikationen erzeugt sollte es ermöglichen, diese Dinge einzurichten, aber Sie haben die Struktur selbst, entweder auf den Spezifikationen für die MS-Dokumente oder durch eine kleine Beispieltabelle erstellen und suchen Sie in der Datei zu bestimmen xl\styles.xml innerhalb der .xlsx (das ist eigentlich eine einfache Zip-Datei!).

Dann so etwas wie die folgenden sollen Sie ermöglichen, die erforderliche XML-Struktur, mit den tatsächlichen Anrufen auf ctGradienFill abhängig von der Art der Füllung Sie machen wollen bauen:

 final CellStyle cellStyle = wb.createCellStyle(); 
     //cellStyle.setFillPattern(FillPatternType.ALT_BARS); 

     XSSFCellFill fill = new XSSFCellFill(CTFill.Factory.newInstance()); 
     final CTGradientFill ctGradientFill = fill.getCTFill().addNewGradientFill(); 
     ctGradientFill.setDegree(45); 
     // ... 
     ((XSSFWorkbook)wb).getStylesSource().putFill(fill); 

     cell.setCellStyle(cellStyle); 

Hinweis: werden Sie benötigen Sie das vollständige Schema-jar wie unter http://poi.apache.org/faq.html#faq-N10025 beschrieben, um die zusätzliche CTGradientFill-Klasse zu erhalten.

+0

wow, schon so viel gelernt. erstaunlich eine XLSX-Datei mit 7-Zip zu öffnen :) wurde den styles.xml hinzugefügt aber ich nicht auf die Idee kommen, wie dies meines zu einem hinzufügen von ZellStyles ... :( – unknown404