1. Manchmal müssen Sie beim Exportieren von Excel nach Kategorie exportieren. Es gibt mehrere Unterkategorien unter einer Hauptkategorie, und es gibt mehrere Unterkategorien unter den Unterkategorien, genau wie das folgende Bild:
Es ist nicht schwierig, dies zu erreichen.
Die Idee ist wie folgt: Zirkulieren Sie nach den Hauptkategorien. Zum Beispiel ist das oben genannte, nach den drei Hauptkategorien des Zhangjiang -Campus, des Xuhui -Campus und des Campus von Lingang zu radeln und dann die kleinen Kategorien zu verarbeiten. Da dieses Beispiel keine Verschmelzung beinhaltet, beinhaltet es nur die Verarbeitung kleiner Kategorien. Wenn Sie kleine Kategorien verarbeiten müssen, müssen Sie sich weiterhin mit ihnen befassen. Das spezifische Implementierungsprinzip entspricht den kleinen Kategorien.
In jedem Zyklus zeichnen Sie den Haustyp dieses Zyklus und den Haustyp des letzten Zyklus auf. Wenn die beiden gleich sind, muss die Endzeile ++ zusammengeführt werden. Andernfalls bedeutet dies, dass der Haustyp abgeschlossen wurde (vorausgesetzt, jeder Typ wird in der Reihenfolge bestellt, um sicherzustellen, dass derselbe Typ nebeneinander ist) und beginnt sich zu verschmelzen. Die spezifische Implementierung ist wie folgt:
2. Implementieren Sie den Code, die spezifische Idee liegt bereits in den Kommentaren
public void expstatistics (String filepath, String campuscode) {try {WritableWorkbook wwb = Workbook.CreateWorkbook (neue Datei (Filepath)); JxlFormatutil jfu = new JxlFormatutil (); Writablesheet WS = wwb.CreateSheet ("House Report Statistics", 0); String [] tablehead = {"Campus -Name: 20", "Haustyp: 30", "Hausgebrauch: 30", "Benutzgebiet (): 20"}; für (int i = 0; i <tablehead.length; i ++) {// Der Titelstil jeder Spalte Ws.Addcell (neues Label (i, 0, tablehead [i] .Split (":") [0], jxlformatutil.wchead)); Ws.setColumnView (i, Integer.ValueOf (Tablehead [i] .Split (":") [1])); } int col = 1; // Starten Sie aus Zeile 1 // Die folgenden Variablen werden verwendet, um denselben Inhalt in int percol = col zu verschmelzen; String perpurpose = ""; // Der vorherige Gebrauchstyp String Zweck = ""; // Der aktuelle Gebrauchstyp int startMergecol = 1; // Die erste Zeile, die fused int endeMergecol = 0; // Die letzte Zeile fused boolean Flag = true; // verwenden, um zu erfassen, ob es die erste Loop // exporte list <fcxtcampus> campus> campus> campuslist = New Arraylist ist; if (null! = campuscode &&! ". } else {CampusList = CampusDao.findcampus (); } für (fcxtcampus campus: campuslist) {list <fcxtbuild> builds = builddao.statisticsBuilds (Campus.getCampuscode (); // Erhalten Sie alle Hausinformationen, wenn (null! Label (row ++, col, campus.getCampusname (), jxlFormatutil.wccenter)); purple = build.getusefulpurpose (); if (Flag) {// Wenn es sich um die erste Schleife handelt, initialisieren Sie Täter, damit das nachfolgende erste Urteil vermittelt = Zweck; Flag = Falsch; } ws.addcell (neues Label (Row ++, col, fcxtbuild.build_usefulpurpose.get (build.getusefulpurpose ()), jxlFormatutil.wccenter)); if (purple.equals (perpurpose)) {endMergecol ++; } else {// Wenn die beiden unterschiedlich sind, die gleichen Linien vor der Fusion Ws.MergeCells (1, startMergecol, 1, endMergeCol); startMergecol = col; endMergeCol = startMergeCol; praktisch = Zweck; } ws.addcell (neues Label (row ++, col, fcxtbuild.build_buildingtype.get (buildbuildingtype ()), jxlFormatutil.wccenter)); Ws.Addcell (neues Label (Row ++, col, build.getBuildarea (). toString (), jxlFormatutil.wccenter)); col ++; } Ws.MergeCells (0, Percol, 0, col-1); Percol = col; }} wwb.write (); wwb.close (); } catch (Ausnahme e) {e.printstacktrace (); }}Zusammenfassen
Das obige ist eine detaillierte Erklärung der Linienideen, um denselben Inhalt in derselben Spalte beim Exportieren von Java Excel zu verschmelzen. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!