2017-05-30 17 views
1

Ich versuche, zwei Sammlungen in einem Excel-Dokument zu setzen. Ich tue dies:JXLS. Wie kann ich verschiedene Kollektionen in verschiedene Blätter legen?

context.putVar("collection1", collection1); 
context.putVar("collection2", collection2);  
xlsHelper.getInstance().processTemplate(getClass().getClassLoader().getResourceAsStream("templates/exceldocument.xls"), os, context); 

Das Excel-Dokument hat zwei Blätter, ein Blatt, auf dem die collection1 und das andere Blatt ist, wo es die collection2.

Aber wenn ich das tue, wird nur eine Sammlung in ein Blatt gelegt.

Wie man zwei Ansammlungen in differents Blätter setzt?

Antwort

1

Sie können eine Liste von XLS-Bereichen erstellen und manuell bearbeiten, wie Sie möchten. Der Code kann wie folgt aussehen

Transformer transformer = TransformerFactory.createTransformer(is, os); 
AreaBuilder areaBuilder = new XlsCommentAreaBuilder(transformer); 
List<Area> xlsAreaList = areaBuilder.build(); 
Area sheet1Area = xlsAreaList.get(0); 
Area sheet2Area = xlsAreaList.get(1); 
sheet1Area.applyAt(new CellRef("sheet1!A1"), context); // process sheet1 
sheet2Area.applyAt(new CellRef("sheet2!A1"), context); // process sheet2 
transformer.write(); 

Es ist eigentlich ganz einfach ähnliche Unterstützung zu JxlsHelper hinzuzufügen so fühlen sich frei, eine Verbesserung der Jxls issue tracker zu erhöhen JxlsHelper zu verbessern.

Siehe auch XlsCommentBuilderDemo Beispielcode für ein umfassenderes Beispiel.

Verwandte Themen