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: 2386 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: 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). |
|
Link para compartilhar na Internet ou com seus amigos: | |
Dart ::: Dicas de Estudo e Anotações ::: Estruturas de Controle |
Como usar if...else em Dart - Como usar a estrutura condicional if... else if... else da linguagem DartQuantidade de visualizações: 2754 vezes |
Na maioria das linguagens de programação, a estrutura condicional if... else if... else é usada para testar condições e, baseado no resultado dos testes, desviar o fluxo de execução do algorítmo. Veja um exemplo no qual pedimos para o usuário digitar um valor inteiro e efetuamos um teste para saber se o valor é maior que 10: // Vamos importar a biblioteca dart:io import 'dart:io'; void main() { // vamos pedir para o usuário digitar um valor inteiro stdout.write("Digite um número inteiro: "); // vamos converter a entrada do usuário para um inteiro e // e guardar na variavel valor int valor = int.parse(stdin.readLineSync()); // vamos verificar se o valor lido é maior que 10 if (valor > 10) { print("O valor é maior que 10."); } else { // não é maior que 10 print("O valor não é maior que 10."); } } Este código produz as seguintes saídas: c:\estudos_dart>dart condicional_if_else.dart Digite um número inteiro: 4 O valor não é maior que 10. c:\estudos_dart>dart condicional_if_else.dart Digite um número inteiro: 10 O valor não é maior que 10. c:\estudos_dart>dart condicional_if_else.dart Digite um número inteiro: 15 O valor é maior que 10. Note que testamos apenas um condição e já desviamos para o else caso ela não seja satisfeita. A linguagem Dart nos permite usar if...else aninhados. Veja: // Vamos importar a biblioteca dart:io import 'dart:io'; void main() { // vamos pedir para o usuário digitar um valor inteiro stdout.write("Digite um número inteiro: "); // vamos converter a entrada do usuário para um inteiro e // e guardar na variavel valor int valor = int.parse(stdin.readLineSync()); // vamos verificar se o valor lido é maior que 10 if (valor > 10) { print("O valor é maior que 10."); } else if (valor == 10) { // é igual a 10 print("O valor é igual a 10."); } else { // é menor que 10 print("O valor é menor que 10."); } } Execute este código, digite um valor inteiro e observe seu comportamento. |
VB.NET ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Como usar a instrução Select...Case do VB.NETQuantidade de visualizações: 20481 vezes |
As instruções If...Then e If...Then...Else são muito úteis para testarmos condições em nossos códigos. Porém, há situações em que os caminhos a serem testados são tantos que se torna um pouco tedioso escrever tantos ElseIfs. Para estas situações nós temos a instrução Select...Case. Veja seu uso no trecho de código abaixo:Dim valor As Integer = 7 Select Case valor Case 1 To 5 Console.WriteLine("Entre 1 e 5 (inclusive)") Case 6, 7, 8 Console.WriteLine("Entre 6 e 8 (inclusive)") Case 9 To 10 Console.WriteLine("Igual a 9 ou 10") Case Else Console.WriteLine("Não encontrado no teste") End Select Os valores a serem testados em cada passo da instrução podem ser separados por vírgulas ou por faixa, usando a palavra-chave To. Neste último caso, o valor limite também é incluído no teste. O tipo de dados da variável de teste deve se enquadrar nos tipos: Boolean, Byte, Char, Date, Double, Decimal, Integer, Long, Object, SByte, Short, Single, String, UInteger, ULong e UShort. |
PHP ::: Dicas & Truques ::: Gráficos e Cores |
Gráficos em PHP - Como criar imagens dinamicamente usando a função imagecreate() do PHPQuantidade de visualizações: 12593 vezes |
O primeiro passo para a criação de imagens dinâmicas em PHP é entender o funcionamento da função imagecreate(). Esta função retorna uma referência para uma imagem criada na memória com a largura e altura especificadas e na cor branca. Assim, tudo que temos a fazer é escrever ou desenhar nesta área branca e finalmente salvar ou enviar para o browser. Veja um exemplo de código no qual criamos uma imagem PNG com a largura de 200 pixels e altura de 150 pixels. Note que a cor de fundo é azul e a cor do texto é branca: <? // informamos ao browser que o conteúdo é uma imagem PNG header("Content-type: image/png"); // criamos uma imagem com largura de 200 e altura de 150 pixels $imagem = imagecreate(200, 150); // cor de fundo será azul $cor_fundo = imagecolorallocate($imagem, 0, 0, 255); // cor do texto será branca $cor_texto = imagecolorallocate($imagem, 255, 255, 255); // escrevemos na imagem imagestring($imagem, 3, 10, 10, "Arquivo de Códigos", $cor_texto); // mandamos para o browser imagepng($imagem); // liberamos a memória imagedestroy($imagem); ?> Para visualizar este resultado, salve este código como imagem.php e use o nome deste arquivo na propriedade src de uma imagem em uma outra página. Veja: <img src="imagem.php"> |
C# ::: Windows Forms ::: Formulários e Janelas |
Como abrir outros formulários de sua aplicação C# Windows Forms a partir do formulário principalQuantidade de visualizações: 32503 vezes |
Esta é, sem dúvida, uma das perguntas mais frequentes de meus visitantes. Sendo assim, vou detalhar passo-a-passo como você poderá abrir outros formulários a partir do formulário principal da aplicação. Assumindo que você já tenha criado o formulário principal, siga estes passos para criar um novo formulário (Visual C# 2005 ou 2008): a) Vá no menu Project -> Add Windows Form. O novo Form já aparecerá selecionado. Dê um nome a ele, por exemplo, "NovoForm.cs" e clique o botão Add; b) Coloque os controles que desejar no novo formulário e salve tudo; c) Volte no formulário principal e adicione o código abaixo no evento Click de um botão: private void button1_Click(object sender, EventArgs e){ // vamos criar o novo formulário e exibí-lo NovoForm nf = new NovoForm(); nf.Show(); } Execute e veja o resultado. Note, contudo, que se clicarmos no formulário principal com o segundo formulário ainda aberto, veremos que o primeiro sobrepõe o segundo. Isso acontece porque abrimos o novo formulário como não modal. Em algumas aplicações este pode não ser o comportamento esperado. Continue seguindo minhas dicas para aprender a diferença entre formulários modais e não modais em Windows Forms e C#. |
C++ ::: Fundamentos da Linguagem ::: Passos Iniciais |
C++ do básico ao avançado - Conheça a origem da linguagem C++Quantidade de visualizações: 13282 vezes |
C++ começou como uma versão expandida de C. As extensões C++ foram inventadas primeiramente por Bjarne Stroustrup, em 1979, no Bell Laboratories em Murray Hill, New Jersey. Ele inicialmente chamou a nova linguagem de "C com classes". Contudo, em 1983 o nome foi mudado para C++. Embora C fosse uma das linguagens preferidas e mais usadas para programação profissional em todo o mundo, a invenção de C++ se fez necessária devido a um fator de programação: o aumento da complexidade. No decorrer dos anos, programas de computador se tornaram maiores e mais complexos. Mesmo sendo uma excelente linguagem de programação, C tem seus limites. Em C, uma vez que um programa atinja a marca de 25.000 à 100.000 linhas de códigos, este se torna tão complexo que é difícil analisá-lo como um todo. A manutenção de seu código se torna um pesadelo. O propósito de C++ é quebrar esta barreira. A essência do C++ é permitir que programadores compreendam e gerenciem programas cada vez mais complexos. A maioria das adições feitas ao C por Stroustrup suportam a programação orientada a objetos, às vezes chamada de POO. Stroustrup afirmou que algumas das características da orientação a objetos de C++ foram inspiradas em uma linguagem chamada Simula67. Assim, C++ representa a combinação de dois métodos poderosos de programação. Desde que C++ foi inventada, ela já passou por três revisões importantes, com adições e modificações da linguagem. A primeira revisão ocorreu em 1985 e a segunda em 1990. A terceira ocorreu durante a padronização do C++. Há vários anos que este trabalho de padronização foi iniciado. Para esta finalidade, uma associação entre a ANSI (American National Standards Institute) e a ISO (International Standards Organization) resultou em um comitê de padronização. O primeiro documento contendo o padrão proposto foi criado em 25 de janeiro de 1994. Neste documento, o comitê ANSI/ISO C++ manteve as características definidas por Stroustrup e acrescentou algumas outras. Mas, no geral, este documento inicial refletiu o estado de C++ na época. Logo após a finalização do primeiro documento de padronização C++, um evento ocorreu e com ele a linguagem foi amplamente expandida: a criação da Standard Template Library (STL) por Alexander Stepanov. A STL é um conjunto de rotinas generícas que podemos usar para manipular dados. A STL não é somente poderosa e elegante, mas também muito extensa. |
Desafios, Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
Dicas e truques de outras linguagens |
Java - Como calcular a transposta de uma matriz em Java - Java para Geometria Analítica e Álgebra Linear |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento 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 |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades 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 |