Você está aqui: Java ::: Java + Excel ::: Apache POI - the Java API for Microsoft Documents |
Como criar um novo Workbook, uma nova planilha no Excel e inserir linhas e células usando o Apache POIQuantidade de visualizações: 2691 vezes |
Nesta dica mostrarei como usar o Apache POI a partir de uma aplicação Java console para criar um arquivo do Excel contendo um Workbook, uma planilha e algumas linhas e colunas. Se você ainda não conhece o Apache POI - the Java API for Microsoft Documents, a URL da biblioteca é https://poi.apache.org. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.io.File; import java.io.FileOutputStream; import java.util.ArrayList; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class Estudos{ public static void main(String[] args) { // vamos criar um novo Workbook XSSFWorkbook workbook = new XSSFWorkbook(); // agora criamos uma nova planilha no workbook recém-criado XSSFSheet planilha = workbook.createSheet("Notas"); // vamos criar um ArrayList com as informações a serem // inseridas na planilha String titulos[] = {"DISCIPLINA", "N1", "N2", "MÉDIA"}; ArrayList<Nota> dados = new ArrayList<>(); dados.add(new Nota("Algorítmos I", 9.2, 7.3)); dados.add(new Nota("Lógica Matemática", 8.0, 7.8)); dados.add(new Nota("Ética", 10.00, 8.7)); dados.add(new Nota("Matemática", 7.9, 9.6)); dados.add(new Nota("Português", 2.4, 3.1)); int numLinha = 0; // representa o número da linha da planilha // primeiro criamos a linha com os títulos Row linha = planilha.createRow(numLinha); for(int i = 0; i < titulos.length; i++){ // cria uma nova célula Cell celula = linha.createCell(i); celula.setCellValue((String)titulos[i]); } // incrementamos a linha numLinha++; // agora percorremos o ArrayList for(int i = 0; i < dados.size(); i++){ // criamos uma nova linha linha = planilha.createRow(numLinha); // percorremos as informações individuais para criar // as células Nota nota = dados.get(i); // criamos a célula com o nome da disciplina Cell celula = linha.createCell(0); celula.setCellValue((String)nota.disciplina); // e agora a célula com a nota n1 celula = linha.createCell(1); celula.setCellValue((double)nota.n1); // e agora a célula com a nota n2 celula = linha.createCell(2); celula.setCellValue((double)nota.n2); // e agora a célula com a média celula = linha.createCell(3); celula.setCellValue((double)((nota.n1 + nota.n2) / 2)); // incrementamos a linha numLinha++; } // agora vamos "tentar" salvar o workbook e a nossa planilha do Excel try{ FileOutputStream out = new FileOutputStream(new File("C:\\estudos_java\\teste.xlsx")); workbook.write(out); out.close(); System.out.println("Arquivo do Excel salvo com sucesso."); } catch (Exception e){ System.out.println("Ops: " + e.getMessage()); } } // classe interna auxiliar static class Nota{ String disciplina; double n1; double n2; double media; Nota(String disciplina, double n1, double n2){ this.disciplina = disciplina; this.n1 = n1; this.n2 = n2; } } } Ao executar este código, verifique se a mensagem abaixo será exibida: Arquivo do Excel salvo com sucesso. Viu a mensagem? Então esse é um bom sinal. Vá até o diretório no qual você pediu para salvar o arquivo do Excel e abra-o. Você deverá ter um resultado parecido com o mostrado na imagem a seguir: ![]() Este código foi testado com a versão 5.1.0 do Apache POI, Java 1.8.0_311 e Excel para Microsoft 365 (Office 365). |
![]() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Uma locadora de charretes cobra R$ 10,00 de taxa para cada 3 horas de uso destasQuantidade de visualizações: 5957 vezes |
Exercício Resolvido de Java - Uma locadora de charretes cobra R$ 10,00 de taxa para cada 3 horas de uso destas Pergunta/Tarefa: Uma locadora de charretes cobra R$ 10,00 de taxa para cada 3 horas de uso destas e R$ 5,00 para cada 1 hora abaixo destas 3 horas. Faça um programa (algorítmo) Java que leia a quantidade de horas que a charrete foi usada, calcule e escreva o valor a ser pago pelo cliente. Sua saída deverá ser parecida com: Quantidade de horas que a charrete foi usada: 7 Valor total a ser pago: R$ 25,00 Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package exercicio; import java.text.NumberFormat; import java.util.Scanner; public class Exercicio { public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // vamos ler a quantidade de horas que a charrete foi usada System.out.print("Quantidade de horas que a charrete foi usada: "); int horas = Integer.parseInt(entrada.nextLine()); // vamos calcular o valor por 3 horas exatas int valor = horas / 3; // valor a ser pago para cada hora abaixo de 3 int restante = horas % 3; // finalmente calculamos o valor total a ser pago double valor_total = (valor * 10.0) + (restante * 5); // e exibimos o resultado NumberFormat formato = NumberFormat.getCurrencyInstance(); System.out.println("Valor total a ser pago: " + formato.format(valor_total)); } } |
Java ::: Coleções (Collections) ::: ArrayList |
Como escrever um método que retorna um objeto da classe ArrayList do JavaQuantidade de visualizações: 16261 vezes |
Em algumas situações precisamos escrever um método Java que retorna um objeto da classe ArrayList. Esta dica mostra como isso pode ser feito:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import java.util.*; public class Estudos{ public static void main(String[] args){ // vamos obter o ArrayList do método abaixo ArrayList<String> lista = obterLista(); // vamos exibir os valores dos elementos for(int i = 0; i < lista.size(); i++){ System.out.println(lista.get(i)); } System.exit(0); } // um método que retorna um ArrayList public static ArrayList<String> obterLista(){ // vamos criar um ArrayList, adicionar alguns elementos // e devolvê-la ao chamador do método ArrayList<String> nomes = new ArrayList<String>(); nomes.add("Osmar J. Silva"); nomes.add("Fernanda de Castro"); nomes.add("Marcos de Oliveira"); return nomes; } } |
Java ::: Dicas & Truques ::: Data e Hora |
Como adicionar ou subtrair dias de uma data e hora usando o método add() da classe Calendar do JavaQuantidade de visualizações: 13510 vezes |
Este trecho de código mostra como usar o método add() da classe Calendar da linguagem Java para adicionar ou subtrair dias de uma data. Veja que este método requer o campo de calendário e um número inteiro. Para o nosso propósito, o campo de calendário pode ser DAY_OF_MONTH ou DATE. Um valor positivo adiciona dias enquanto um valor negativo subtrai. Veja o código completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import java.util.*; import java.text.*; public class Estudos{ public static void main(String args[]){ Calendar agora = Calendar.getInstance(); // formata e exibe a data e hora atual Format formato = new SimpleDateFormat( "dd/MM/yyyy - HH:mm:ss"); System.out.println("Hoje é: " + formato.format(agora.getTime())); // vamos adicionar 5 dias a esta data agora.add(Calendar.DAY_OF_MONTH, 5); // o mesmo resultado pode ser obtido com // agora.add(Calendar.DATE, 5); // formata e exibe o resultado formato = new SimpleDateFormat( "dd/MM/yyyy - HH:mm:ss"); System.out.println("Daqui a 5 dias será: " + formato.format(agora.getTime())); } } Ao executar este código nós teremos o seguinte resultado: Hoje é: 19/03/2021 - 22:13:54 Daqui a 5 dias será: 24/03/2021 - 22:13:54 |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
PHP - Datas e horas em PHP - Como subtrair horas de uma data usando a função mktime() da linguagem PHP |
Códigos Fonte |
![]() Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
![]() Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |