2016-07-26 14 views
1

Ich wollte eine Tabelle nach Excel exportieren. Ich habe die Spalte der Tabelle mit "addContainerProperty" hinzugefügt.Vaadin ExportTable URL nach Excel speichern

Eine Zeile enthält die URL.

Ich wollte diese URL Excel exportieren, aber das funktioniert nicht. URL wird als Zeichenfolge exportiert. aber ich wollte nur als Hyperlink.

Ich benutze ExportTable Addon von Vaadin.

Wie kann ich das tun?

Vielen Dank im Voraus

+1

Ich glaube nicht, das so einfach ist, wie Sie hoffen würden, da es auf POI basiert, die erfordert [ein Hyperlink-Objekt erstellen] (https: // poi. apache.org/spreadsheet/quick-guide.html#Hyperlinks), aber wenn ich mir die Quellen anschaue, habe ich keinen Weg gefunden, eine _cell factory_ irgendeiner Art zu injizieren. An dieser Stelle denke ich, dass Ihre sicherste Wette wäre, ExcelExport zu erweitern und dessen addDataRow (~ 95% Kopieren-Einfügen) zu überschreiben, um die Hyperlinks für Ihre gewünschte Spalte zu erstellen. Oder verwenden Sie POI selbst und erstellen Sie Ihren eigenen Exporteur. ** P.S. ** vielleicht könnten Sie das Add-On erweitern und eine neue Version mit seinem Betreuer veröffentlichen. – Morfic

+0

Wie kann ich Data Over Override hinzufügen? Muss ich den Quellcode herunterladen und daran arbeiten? – Lucky

+1

[Wie bei jeder regulären Java-Klasse] (https://docs.oracle.com/javase/tutorial/java/IandI/override.html): Erweitern Sie 'ExcelExport' und fügen Sie eine Methode mit demselben Namen hinzu , Parameter und Rückgabetyp. Es würde wahrscheinlich anderen nützen, wenn Sie die Quellen auszweigen, die existierende Methode modifizieren, dann die Änderungen auf den Repo übertragen und den Betreuer kontaktieren, um eine neue Version freizugeben. Oder frag ihn, ob er nicht schon Pläne dafür hat ... – Morfic

Antwort

0
 ExcelExport excelExport; 
     excelExport = new ExcelExport(tblSearch, "Production Request Details"); 
     excelExport.setExportFileName("prduction_request_details_" + System.currentTimeMillis() + ".xls"); 
     excelExport.excludeCollapsedColumns(); 
     excelExport.setReportTitle("Production Request Details"); 
     excelExport.export();