public void atualizar(Jogo jogo) {
    for (int i = 1; i <= planilha.getSheet("Jogos").getLastRowNum(); i++) {
      if (planilha.getSheet("Jogos").getRow(i).getCell(0).getNumericCellValue() == jogo.getID()) {
        HSSFRow novaRow = this.planilha.getSheet("Jogos").createRow(i);

        novaRow.createCell(1).setCellValue(jogo.getNome());
        novaRow.createCell(2).setCellValue(jogo.getConsole());
        novaRow.createCell(3).setCellValue(jogo.getPrecoCompra());
        novaRow.createCell(4).setCellValue(jogo.getPrecoVenda());
        novaRow.createCell(5).setCellValue(jogo.getQuantidade());
        novaRow.createCell(6).setCellValue(jogo.getGenero());
        FileOutputStream nFile = null;
        try {
          nFile = new FileOutputStream("Jogos.xls");
        } catch (FileNotFoundException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
        try {
          this.planilha.write(nFile);
        } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
        try {
          nFile.close();
        } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
      }
    }
  }
 public void remover(int ID) {
   for (int i = 1; i <= planilha.getSheet("Jogos").getLastRowNum(); i++) {
     if (planilha.getSheet("Jogos").getRow(i).getCell(0).getNumericCellValue() == ID) {
       HSSFRow novaRow = this.planilha.getSheet("Jogos").createRow(i);
       novaRow.createCell(0).setCellValue(0);
       novaRow.createCell(1).setCellValue("");
       novaRow.createCell(2).setCellValue("");
       novaRow.createCell(3).setCellValue("");
       novaRow.createCell(4).setCellValue("");
       novaRow.createCell(5).setCellValue("");
       novaRow.createCell(6).setCellValue("");
       FileOutputStream nFile = null;
       try {
         nFile = new FileOutputStream("Jogos.xls");
       } catch (FileNotFoundException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
       }
       try {
         this.planilha.write(nFile);
       } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
       }
       try {
         nFile.close();
       } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
       }
     }
   }
 }
  public RepositorioJogosArquivo() {
    boolean arquivoExiste = true;
    this.planilha = new HSSFWorkbook();
    FileInputStream arquivo = null;
    try {
      arquivo = new FileInputStream("Jogos.xls");
    } catch (FileNotFoundException e) {
      arquivoExiste = false;
      HSSFRow inicioJogos = this.planilha.createSheet("Jogos").createRow(0);
      this.planilha.getSheet("Jogos").createRow(1).createCell(0).setCellValue(0);
      FileOutputStream novoArquivo = null;
      try {
        novoArquivo = new FileOutputStream("Jogos.xls");
      } catch (FileNotFoundException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
      }

      inicioJogos.createCell(0).setCellValue("ID");

      inicioJogos.createCell(1).setCellValue("nome");

      inicioJogos.createCell(2).setCellValue("console");

      inicioJogos.createCell(3).setCellValue("preço compra");

      inicioJogos.createCell(4).setCellValue("preço venda");

      inicioJogos.createCell(5).setCellValue("quantidade");

      inicioJogos.createCell(6).setCellValue("genero");

      try {
        this.planilha.write(novoArquivo);
      } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
      }
      try {
        novoArquivo.close();
      } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
      }
    }
    if (arquivoExiste) {
      try {
        this.planilha = new HSSFWorkbook(arquivo);
      } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }
  }
 public Jogo procurar(int ID) {
   Jogo resposta = null;
   for (int i = 1; i <= planilha.getSheet("Jogos").getLastRowNum(); i++) {
     if (planilha.getSheet("Jogos").getRow(i).getCell(0).getNumericCellValue() == ID) {
       HSSFRow Row = this.planilha.getSheet("Jogos").getRow(i);
       String nome = Row.getCell(1).getStringCellValue();
       String console = Row.getCell(2).getStringCellValue();
       double precoCompra = Row.getCell(3).getNumericCellValue();
       double precoVenda = Row.getCell(4).getNumericCellValue();
       int quantidade = (int) Row.getCell(5).getNumericCellValue();
       String genero = Row.getCell(6).getStringCellValue();
       resposta = new Jogo(ID, nome, console, precoCompra, precoVenda, quantidade, genero);
     }
   }
   return resposta;
 }
 public Iterator getIterator() {
   Jogo[] jogo = new Jogo[planilha.getSheet("Jogos").getLastRowNum()];
   int indice = 0;
   for (int i = 1; i <= planilha.getSheet("Jogos").getLastRowNum(); i++) {
     if (planilha.getSheet("Jogos").getRow(i).getCell(0).getNumericCellValue() != 0) {
       HSSFRow Row = this.planilha.getSheet("Jogos").getRow(i);
       int id = (int) Row.getCell(0).getNumericCellValue();
       String nome = Row.getCell(1).getStringCellValue();
       String console = Row.getCell(2).getStringCellValue();
       double precoCompra = Row.getCell(3).getNumericCellValue();
       double precoVenda = Row.getCell(4).getNumericCellValue();
       int quantidade = (int) Row.getCell(5).getNumericCellValue();
       String genero = Row.getCell(6).getStringCellValue();
       Jogo resposta = new Jogo(id, nome, console, precoCompra, precoVenda, quantidade, genero);
       jogo[indice] = resposta;
       indice = indice + 1;
     }
   }
   return new IteratorArquivo(jogo);
 }