Abrir planilha

Caros,

Estou fazendo um método para abrie e ler um planiha desta forma


	public void abrirArquivo(String caminho) throws Exception {
		
		arquivo = new HSSFWorkbook(new FileInputStream(caminho));
	}

como parametro eu passo o caminho completo do arquivo , este arquivo é uma planilha com formato CSV.

o problema é que ela gera esta exception quando tenta ler…

java.io.IOException: Invalid header signature; read 4486782894588299789, expected -2226271756974174256
at org.apache.poi.poifs.storage.HeaderBlockReader.(HeaderBlockReader.java:91)
at org.apache.poi.poifs.filesystem.POIFSFileSystem.(POIFSFileSystem.java:83)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.(HSSFWorkbook.java:252)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.(HSSFWorkbook.java:233)
at gerenciadorArquivos.ManipuladorPlanilha.abrirArquivo(ManipuladorPlanilha.java:16)
at robo.Teste.main(Teste.java:110)

Quando eu abro o arquivo no bloco de notas as informações estão separadas por ;

Será que isso tem haver com leitura??? :?:

Se for um arquivo .csv vc pode ler ele e carregar campo por campo usando o split(";")

Hmmmm…arquivos CSV não são planilhas!! Eles são arquivos-texto simples, com linhas e colunas (onde as colunas são separadas, no seu caso, por “;”).

Acredito que você não possa abrir o arquivo e fazer o POI tratá-lo como se fosse uma planilha. Mas deve ser possível importar esse arquivo para uma planilha criada no POI.

Entendi… então ele é um arquivo serado por ;
Ok … entendi …

neste caso para ler vou usar outra forma… que uso

sem o a classe HSSF…

Obrigado pela explicação

:slight_smile:

BufferedReader in = new BufferedReader(new FileReader(file));
String temp = null;
while((temp = in.readLine()) != null){
           System.out.println(temp);
}