Boa tarde Galera!
Preciso Gravar um objeto em um arquivo.xls. Esse é um objeto do tipo Planilha.
Depois vou limpar esse objeto.
Depois vou ler esse arquivo e colocar no objeto Planilha de novo.
Fiz esse código abaixo. mas ele não está passando os dados para a Planilha.
public void salvaPlan(Planilha plan){
File f = new File(“planteste.xls”);
try{
FileOutputStream fos = new FileOutputStream(f);
ObjectOutputStream os = new ObjectOutputStream(fos);
os.writeObject(plan);
os.flush();
os.close();
fos.flush();
fos.close();
}
catch(IOException e){
e.getMessage();
}
}
public void carregaPlan(Planilha plan){
try {
FileInputStream f = new FileInputStream("planteste.xls");
ObjectInputStream obj = new ObjectInputStream(f);
plan = (Planilha) obj.readObject();
f.close();
obj.close();
} catch (IOException e) {
e.getMessage();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
Cara tentei tentei e não consegui.
Ele só mostra como imprimir. Eu preciso Criar uma arquivo.xls e passar para esse arquivo uma Matriz.
Olha oque eu fiz. Não da nem um erro, mas também não cria o arquivo.
public void salvaPlan(Planilha plan){
try {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheetTeste = workbook.createSheet("teste");
int rownum = 0;
for (int i = 0; i < plan.getPlanilha().length; i++) {
Row row = sheetTeste.createRow(rownum++);
int cellnum = 0;
for (int j = 0; j < plan.getPlanilha()[i].length; j++) {
Cell cell = row.createCell(cellnum++);
cell.setCellValue((double) plan.getPlanilha()[i][j].getValor());
}
}
FileOutputStream arquivo = new FileOutputStream(new File("planteste.xls"));
workbook.write(arquivo);
arquivo.close();
System.out.println("Arquivo Excel criado com sucesso!");
} catch (Exception e) {
e.getMessage();
}
}
Deve estar ocorrendo um erro sim, acontece que você não está apresentando o erro em lugar nenhum.
O método e.getMessage() apenas retorna uma String, mas você não está fazendo nada com esse retorno.
Altere seu catch para ficar assim: