Primeiro criamos a Classe Model Usuário:
public class User { | |
private int id; | |
private String name; | |
private String email; | |
private String password; | |
private String adress; | |
private int telefone; //getters e setter |
Agora vamos criar a Classe que vai criar o Excel, com um método main que vai executar nosso programa e gerar o Excel.
public class CreateExcel { | |
private static final String fileName = "C:/apachepoi/usuarios.xls"; | |
public static void main(String[] args) throws IOException {} } |
Dentro da Pasta C:/apachepoi vamos adicionar um arquivo .xls que será o nosso arquivo modelo, do qual podemos configurar como desejarmos colocar um template, logo, titulo das informações que serão adicionadas, etc. No caso estamos usando o usuarios.xls.
Dentro desse método vamos adicionar as informações do usuário em memoria, para podermos ter informações reais para gerar o relatório,
public static void main(String[] args) throws IOException {
}
| ||
lisUsers.add(new User(1, "Eduardo", "eduardo@gmail.com","senha", 9876525, "Santana, 520")); | ||
lisUsers.add(new User(1, "Carol", "carol@gmail.com","senha", 9876525, "Itaquera, 302")); | ||
lisUsers.add(new User(1, "Marcia", "marcia@gmail.com","senha", 9876525, "Sapopemba, 49")); | ||
lisUsers.add(new User(1, "Gustavo", "gustavo@gmail.com","senha", 9876525, "Vila Prudente, 155")); | ||
lisUsers.add(new User(1, "Rafael", "eduardo@gmail.com","senha", 9876525, "Vila Ema, 275")); |
A Apache POI contém classes e métodos para trabalhar em todos os documentos do MS-Office. Vamos usar um desses componentes da Biblioteca o HSSF (Horrible formato de planilha): Ele é usado para ler e escrever formato .xls de arquivos MS-Excel, que o que precisamos, então vamos acionar dentro do nosso metodo main:
HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheetUsers = workbook.createSheet("Usuarios"); |
Em seguida vamos informar em que linha os dados vão começar a ser inseridos. Por exemplo se você criar um template, e tiver adicionado na primeira linha do seu arquivo o titulo das informações que serão inseridas, você vai gerar o arquivo a partir da linha 1 (a contagem é feita a partir da linha 0 que é equivalente a primeira linha), se você não for colocar nenhum titulo então iniciara na linha 0.
int rownum = 0;
Agora vamos criar um for, que vai percorrer pela nossa lista de usuários que criamos com as informações e adicionar no arquivo.
for (User user : lisUsers) { Row row = sheetUsers.createRow(rownum++); | |
int cellnum = 0; | |
Cell cellId = row.createCell(cellnum++); | |
cellId.setCellValue(user.getId()); | |
Cell cellNome = row.createCell(cellnum++); | |
cellNome.setCellValue(user.getName()); | |
Cell cellEmail = row.createCell(cellnum++); | |
cellEmail.setCellValue(user.getEmail()); | |
Cell cellSenha = row.createCell(cellnum++); | |
cellSenha.setCellValue(user.getPassword()); | |
Cell cellTelefone = row.createCell(cellnum++); | |
cellTelefone.setCellValue(user.getTelefone()); | |
Cell cellAdress = row.createCell(cellnum++); | |
cellAdress.setCellValue(user.getAdress()); | |
} |
Em seguida criamos o arquivo
try { FileOutputStream out = new FileOutputStream(new File(CreateExcel.fileName)); | |
workbook.write(out); | |
out.close(); | |
System.out.println("Arquivo Excel criado com sucesso!"); |
E tratamos os eventuais erros:
} catch (FileNotFoundException e) { | |
System.out.println("Arquivo não encontrado!"); | |
} catch (IOException e) { | |
System.out.println("Erro na edição do arquivo!"); | |
} | |
} | |
} |
Agora basta executar o método main e a mágica estará feita. O projeto completo pode ser baixado no Github: Projeto Simples Aplache POI
Melissa Lobo.
Melissa acabei de ver seu comentario de uns 2 anos atras em um blog, queria conversar com voce, por face sei la, preciso de uma ajuda por favor
ResponderExcluirOpa pode falar. Add no skype se quiser. melissinhalobo
ResponderExcluir