Excel-Export mit POI formatieren

alex030677

Grünschnabel
Hallo!

Ich habe eine Webanwendung in JSP mit einer MySQL Datenbank.
Nun habe ich mir ein Servlet gebastelt, was Daten aus der DB ausliest und über POI in eine Excel Datei packt und gleich an den Client schickt.
Das klappt ja auch bis dahin alles wunderbar.

Mein Problem ist die Formatierung des exportierten Excel Documents mit POI.
Es ist in der Docu auf http://jakarta.apache.org/poi zwar beschrieben wie man einzelne Zellen formatiert, aber leider nicht wie ich das anstellen muss wenn ich ganze Zeilen zB bold haben will.

Hat sowas schonmal jemand gemacht und/oder kann mir dabei helfen?

Danke schonmal!

MfG Alex
 
Na klar doch... hab ich glatt vergessen. ;)

Es gibt ja zwei Möglichkeiten Zellen zu erstellen und zu füllen.
Hier die erste:
Code:
// ExcelDatei
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("blup");
// Zeile
HSSFRow row = sheet.createRow(0);
// Spalte fuellen
row.createCell((short)0).setCellValue(rSet.getString("bla"));
Auf diese Art ist es aber nicht möglich die Zellen zu formatieren (zumindest hab ich da keine gefunden), da man keine "wirkliche Zelle" hat die man ansprechen kann.
Mit der zweiten Möglichkeit ist das ganze zwar etwas aufwendiger, aber es funktioniert.
Man muss die Zellen einzeln erstellen.
So ungefähr:
Code:
// ExcelDatei
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("blup");
// Zeile
HSSFRow row = sheet.createRow(0);
// Spalte
HSSFCell cell = null;
// Style
HSSFCellStyle style = wb.createCellStyle();
style.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
style.setBorderBottom(HSSFCellStyle.BORDER_MEDIUM);
style.setBottomBorderColor(HSSFColor.BLACK.index);
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
style.setLeftBorderColor(HSSFColor.BLACK.index);
style.setBorderRight(HSSFCellStyle.BORDER_THIN);
style.setRightBorderColor(HSSFColor.BLACK.index);
style.setBorderTop(HSSFCellStyle.BORDER_MEDIUM);
style.setTopBorderColor(HSSFColor.BLACK.index);
// Font
HSSFFont font = wb.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
style.setFont(font);
// Spalte fuellen und stylen
cell = row.createCell((short)0);
cell.setCellValue("Blabla");
cell.setCellStyle(style);
Hoffe das ist einigermaßen verständlich, mit erklären und beschreiben hab ich es nämlich nicht so. :)
Sollte jetzt jemand noch eine andere Möglichkeit sehen, wie das ganze anders und mit weniger arbeit zu machen ist, dann immer raus damit.

Noch was zu meiner Verteidigung... das ist mein allererstes Servlet! ;)

 
Hi du, cool, noch jemand der mit POI rumexperimentiert.

Hast Du auch schon mal Graphiken in das ExcelSheet gepackt mit den Eschergraphics?

Das problem hab ich nämlich, das er das nicht macht und beim Schliessen der Excel Datei in Excel Excel zum absturz bringt.
 
Hallo,
Ich möchte gerne ein Exceldatei aus der Datenbank MySQL exportieren. Das Exportieren ist nichtr aber nur das Problem, sondern ich möchte, das aus diese Datenbank ein Exceldatei exportiert wird, die bestimmte Format hat, indem ich auch mittels Makros neue Daten hinzufügen kann und mit der neue Daten eine Graphik auszeichnen kann.
Ich habe aber leider keine Ideen, wie ich das realiesieren kann, so dass ich einfach etweder durch Exel Import die daten aus der Datenbank hole und dann die Makros verknüpfe. (Das wäre Optimal).
Oder von Datenbank aus die Daten in Excel Exportiere aber da weiß ich nicht, wie ich die Graphik aufzeichnen soll.
Wäre sehr dankbar für eure Hilfen:confused:
 
Zurück