Ignacio22
(Ignacio García)
1
Hola,
¿Alguien sabe de un plugin o como se haría la exportación de un grid de vaadin 8 a csv/excel?
He encontrado este plugin…
https://vaadin.com/directory/component/exporter
pero está basado en vaadin 7 y con “tables” así que no funciona en vaadin 8.
Muchas gracias
Un saludo
matiasxx
(Matias Gutierrez)
2
Hola ! Yo lo realice con BrwoserWindoOpener para bajar el archivo generado con Jasper.
Al menos a mi me sirvio de esa manera.
Avisame si te sirve.
Saludos
Ignacio22
(Ignacio García)
3
Hola!
Muchas gracias. Ya lo hice manualmente… Añado el código que utilicé…
/**
* generateCSVExportFile
*
* @param event Button.ClickEvent
*/
public void generateCSVExportFile(Button.ClickEvent event) {
try {
// Actual date
DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = new Date();
// (1) Generate String buffer
String string2csv = generateCSVBufferString();
// (2) Generate file downloader file
fileDownloaderCSV.setFileDownloadResource(createResourceFromString(SAMPLE_CSV_FILE + dateFormat.format(date) + CONF_CSV_EXTENSION,
string2csv));
fileDownloaderCSV.extend(generateCSVFileButton);
} catch (Exception error) {
logger.error(error.toString(),error);
}
}
/**
* generateCSVBufferString
*
* MANUAL String buffer generation
*
* @return StringJoiner Buffer with data
*/
private String generateCSVBufferString() {
StringBuilder sb = new StringBuilder();
try {
// Generate header
sb.append("Id").append(COMMA_DELIMITER);
sb.append("Name").append(COMMA_DELIMITER);
sb.append("Type").append(COMMA_DELIMITER);
sb.append("Status").append(COMMA_DELIMITER);
sb.append("Operator name").append(NEW_LINE_SEPARATOR);
for (AeolusFile aeolusFile : listDataProviderAeolusFile.getItems()) {
sb.append(aeolusFile.getId()!=null?aeolusFile.getId().toString():"").append(COMMA_DELIMITER);
sb.append(aeolusFile.getName()!=null?aeolusFile.getName().toString():"").append(COMMA_DELIMITER);
sb.append(aeolusFile.getType().getName()!=null?aeolusFile.getType().getName():"").append(COMMA_DELIMITER);
sb.append(aeolusFile.getOperatorName()!=null?aeolusFile.getOperatorName().toString():"").append(NEW_LINE_SEPARATOR);
}
} catch (Exception error) {
logger.error(error.toString(),error);
}
return sb.toString();
}