Olá pessoal! Estou desenvolvendo um aplicativo que manipula arquivos .xls e estou com um problema que está me tirando o sono:
Eu preciso contar quantos registros tem na planilha, mas se eu apagar uma linha, ela vai continuar sendo contada.
Alguém sabe o que posso fazer?
Obrigado!
Olha, eu não pesquisei no javadoc da API se tem algum método que retorna isso.
Então eu faria assim:
Instanciar um arquivo do excel:
Classe --> HSSFWorkbook
Obter uma planilha:
Classe --> HSSFSheet
Tenta obter a linha atraves do método abaixo
Acredito que se getRow() devolver null a linha
não tem nenhum valor preenchido
Se não devolver null você pega a célula, se a celula
devolver null não está preenchida
Vai ser necessário fazer um laço “for” ou “while” para verificar todas as linhas. Mas acho que basicamente é isso.
HSSRow linhaExcel = planilha.getRow( numeroLinha );
HSSFCell celula = linhaExcel.getCell( numeroColuna );
Hum entendi, vou tentar isso. Obrigado!
fiz isso que vc ta querendo da seguinte forma:
private int inserirFuncaoCountA(HSSFSheet sheet, int indexLinha, HSSFCellStyle style, int primeiraCelula, int ultimaCelula, String titulo) {
indexLinha++;
HSSFCell cell;
cell = sheet.createRow(indexLinha).createCell((short) 1);
cell.setCellValue(new HSSFRichTextString(titulo) );
cell.setCellStyle(style);
sheet.autoSizeColumn((short)(2));
cell = sheet.createRow(indexLinha).createCell((short) 2);
cell.setCellFormula("countA(C"+(primeiraCelula+1)+":C"+(ultimaCelula+1)+")");
cell.setCellStyle(style);
indexLinha++;
return indexLinha;
}
sacou? explico:
o próprio excel tem função para validar isso que vc quer, no caso usei a função countA informando início e fim para validar a quantidade de células que estavam preenchidas.
Não entendi muito bem como usar essa função, pode me dar um exemplo de uso?