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: 2692 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 ::: Coleções (Collections) ::: ArrayList |
Como retornar o índice da última ocorrência de um elemento em uma ArrayList do Java usando a função lastIndexOf()Quantidade de visualizações: 9220 vezes |
Em algumas situações nós gostaríamos de pesquisar um valor em um ArrayList e retornar o índice de sua última aparição, para o caso desse elemento estar contido mais de uma vez na coleção. Para isso nós podemos usar o método lastIndexOf(). Se o elemento pesquisado não estiver na ArrayList, o valor -1 será retornado. 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 estudos; import java.util.ArrayList; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá strings ArrayList<String> nomes = new ArrayList<String>(); // adiciona itens na lista nomes.add("Carlos"); nomes.add("Maria"); nomes.add("Fernanda"); nomes.add("Osmar"); nomes.add("Maria"); // obtém o índice da última ocorrência do // nome "Maria" int indice = nomes.lastIndexOf("Maria"); System.out.println("O último índice do nome pesquisado é: " + indice); System.exit(0); } } Ao executarmos este código Java nós teremos o seguinte resultado: O último índice do nome pesquisado é: 4 |
Java ::: Pacote java.lang ::: String |
Como retornar os caracteres de uma string como um vetor de char usando o método getChars() da classe String do JavaQuantidade de visualizações: 8204 vezes |
O método getChars() da classe String pode ser usado quando queremos retornar todos ou parte dos caracteres de uma string como uma matriz de char. Veja sua assinatura:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) O parâmetro srcBegin indica o índice do primeiro caractere a ser copiado. O parâmetro srcEnd indica o índice APÓS o último caractere a ser copiado. O parâmetro dst é uma matriz de char para a qual os caracteres serão copiados e dstBegin indica o offset (ponto inicial) da matriz a ser preenchida. Veja um trecho de código no qual copiamos os 5 primeiros caracteres de uma string para uma matriz de char chamada letras: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Main { public static void main(String[] args) { // vamos declarar e inicializar uma string String frase = "Cuiabá é muito quente"; // declara uma matriz de 5 chars char letras[] = new char[5]; // vamos copiar os 5 primeiros caracteres da frase anterior // e guardá-los nas primeiras posições da matriz frase.getChars(0, 5, letras, 0); // vamos percorrer a matriz letras for (int i = 0; i < letras.length; i++) { System.out.print(letras[i] + " "); } } } Ao executarmos este código teremos o seguinte resultado: C u i a b O método getChars() pode atirar uma exceção do tipo IndexOutOfBoundsException se valores inválidos forem fornecidos aos seus parâmetros. |
Java ::: Fundamentos da Linguagem ::: Tipos de Dados |
Java para iniciantes - Como usar o tipo de dados long da linguagem JavaQuantidade de visualizações: 14562 vezes |
O tipo de dados long pode ser usado quando queremos armazenar valores inteiros na faixa -9.223.372.036.854.775.808 até 9.223.372.036.854.775.807. Veja um exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public class Estudos{ static long valor = 545L; public static void main(String args[]){ System.out.println("O valor da variável é: " + valor); System.exit(0); } } Observe o uso do caractere "L" após o valor literal que atribuímos à variável. Isso é feito para que o compilador trate o literal como long e não como int. Você pode usar o "L" minúsculo, mas este se parece muito com o número um, o que torna seu uso pouco recomendável. O tipo de dados long pode ser convertido (sem a necessidade de cast) para os seguintes tipos: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- long -> float -> double Se precisarmos converter o tipo int para os tipos char, byte, short ou int, teremos que lançar mão de uma coerção (cast). Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- byte valor2 = (byte)(valor); |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Dart - Como testar se um ponto está dentro de um círculo em Dart - Desenvolvimento de Games com Dart Android Java - Como usar a classe Toast em suas aplicações Android |
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 |