Exportar grid to csv/excel

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

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

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();
}

Buenisimo. Abrazo!