[RESOLVIDO] JAVAFX exportar uma Table para Excel

5 respostas Resolvido
programaçãojavafxapachejava
A

Bom dia, tenho uma TableView com informações em meu sistema gostaria de exporta-la para excel, estou utilizando a implementação da Apache POI mas estou tendo dificuldades para realizar a ação, alguém pode me ajudar?

estou tentando fazer desta forma, mesmo assim ta um pouco dificil.

5 Respostas

J

APACHE POI é bem tranquilo e fica tudo a seu controle, sem cometer mistura de responsabilidades diferentes pra querer economizar código. Pode criar um classe genérica que gere automaticamente o Excel a partir de um commando SQL. Eu trabalho assim, mas com .NET.

Veja que aao dois valores pro cliente e consequente será mais valorizado por isso, duas funcionalidades de saída pro usuário, tela do sistema e Excel.

A

public class AuditoriaTransporteEntity {

private String pedido;
private String volume;
private int totalVolumes;
private String documento;
private LocalDateTime dataImpressaoEtiqueta;

}

public void criarPlanilha(TableView tabAuditoriaVolumes) {

HSSFWorkbook workbook = new HSSFWorkbook();
	HSSFSheet spreadsheet = workbook.createSheet("sample");

	HSSFRow row = null;

	for (int i = 0; i < tabAuditoriaVolumes.getItems().size(); i++) {
		row = spreadsheet.createRow(i);
		for (int j = 0; j < tabAuditoriaVolumes.getColumns().size(); j++) {
			row.createCell(j).setCellValue(tabAuditoriaVolumes.getColumns().get(j).getCellData(i).toString());
		}
	}
	
	try {
		FileOutputStream fileOut = new FileOutputStream("workbook.xls");
		try {
			workbook.write(fileOut);
			fileOut.close();
			Platform.exit();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	} catch (FileNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}
J

http://appcrawler.com/wordpress/2014/01/21/using-apache-poi-to-generate-excel-spreadsheets-from-database-queries/

Se pesquisar deve encontrar exemplos melhores, mas é só pra voce ter uma ideia pra iniciar o básico. Teria que também passar como parametro um HashMap para mapear o nome do campo da tabela com o nome do header a ser exibido no Excel. Mas se fizer o básico, o resto é lógica, os recursos estão ai.

J
Solucao aceita

O exemplo é pra ter uma idéia, mas o resultSet deve ser passado como parametro, tudo que for necessário pro código ficar genérico pra qualquer relatório nesse estilo previsível.

A

funcionou aqui, muito obrigado!

Criado 1 de novembro de 2018
Ultima resposta 1 de nov. de 2018
Respostas 5
Participantes 2