Tenho um ficheiro excel que de B1 a B7 tem valores, e em A7 tem uma formula de somar.
Agora para testar, estava a inserir em B7 um valor e a retirar o valor obtido em A7, só que devolve sempre o valor antigo. A unica maneira de ele ficar com o valor correcto, é abrir o ficheiro no excel e sair, que ele pede para gravar, só assim aplica a formula em A7.
Existe alguma maneira de actualizar a formula pelo java, sem ter que abrir o excel? (já que o objectivo é esse)
Estou a usar o Jxl .
Obrigado
//Abrir o ficheiro e gravar por cima
public static void escreverForm(String ficheiro) throws BiffException, IOException, WriteException {
Workbook w1 = Workbook.getWorkbook(new File(ficheiro));
WritableWorkbook w2 = Workbook.createWorkbook(new File(ficheiro), w1);
w1.close();
modify(w2);
w2.write();
w2.close();
}
//Aplicar alterações
private static void modify(WritableWorkbook w){
WritableSheet sheet = w.getSheet(nomeFolha);
WritableCell cell = sheet.getWritableCell(2,6);
if (cell.getType() == CellType.NUMBER)
{
Number n = (Number) cell;
n.setValue(100.45);
}
}