Hallo zusammen,
ich bin immernoch mit meinem BI Projekt zurande.
Gerade geht es darum (dynamisch) gescheite Charts zu erstellen und in Excel einzubinden.
Leider bietet apache poi dafür dann keine unterstützung mehr die Excel-Eigenen Charts zu nehmen.
Daher habe ich mich etwas umgesehen und bin auch de JFreeCharts gestoßen. Die tun es auch schon in meiner Software. Nun möchte ich so einen Chart auch als Grafik speichern.
Derzeit werden die Charts in einer Klasse gebaut wie von JFrame erbt. Habe mich dann ein wenig umgesehen welche methoden mir damit zur verfügung stehen. Unter anderem ist das die Methode CreateImage. Daraus habe ich dann versucht ein Imagefile zu erstellen. Das funktioniert auch tatsächlich. Nur ist das File leer. Momentan glaube ich noch dass es daran liegt das ich von Image auf RenderedImage Carste. Hier mal der entsprechende Code:
Ein Tipp wäre hier Gold wert!
Sören
ich bin immernoch mit meinem BI Projekt zurande.
Gerade geht es darum (dynamisch) gescheite Charts zu erstellen und in Excel einzubinden.
Leider bietet apache poi dafür dann keine unterstützung mehr die Excel-Eigenen Charts zu nehmen.
Daher habe ich mich etwas umgesehen und bin auch de JFreeCharts gestoßen. Die tun es auch schon in meiner Software. Nun möchte ich so einen Chart auch als Grafik speichern.
Derzeit werden die Charts in einer Klasse gebaut wie von JFrame erbt. Habe mich dann ein wenig umgesehen welche methoden mir damit zur verfügung stehen. Unter anderem ist das die Methode CreateImage. Daraus habe ich dann versucht ein Imagefile zu erstellen. Das funktioniert auch tatsächlich. Nur ist das File leer. Momentan glaube ich noch dass es daran liegt das ich von Image auf RenderedImage Carste. Hier mal der entsprechende Code:
Code:
PieChart demo = new PieChart("Comparison", "Strategic Crops", sheet, counter, 1);
demo.pack();
demo.setVisible(true);
Image image = demo.createImage(300,200);
try {
ImageIO.write((RenderedImage) image, ".jpg", new File("bild.jpg"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Ein Tipp wäre hier Gold wert!
Sören