[OpenXML]Forcer l'update de calculs Excel

Petit désagrément qui vous a certainement touché si vous avez utilisé le SDK Open XML pour créer des documents Excel :

Le résultat des cellules calculées ne sont pas mis à jour automatiquement.

Ceci vient du fait que le format de fichier ne sert qu’à « porter » la donnée et le format. C’est Excel qui se charge de faire les calculs. Heureusement, le format *.xlsx dispose d’une propriété « ForceFullCalculation »  qui permet de forcer les calculs à l’ouverture d’un classeur.

Exemple d’utilisation :

// Ouverture d'un document
using (SpreadsheetDocument document = SpreadsheetDocument.Open(stream, true))
{
   // Forcer les calculs à l'ouverture
   document.WorkbookPart.Workbook.CalculationProperties.ForceFullCalculation = true;

   // Faire des modification sur le fichier

   // enregistrer le document
   document.WorkbookPart.Workbook.Save();
}
Jérémy Jeanson

Comments

You have to be logged in to comment this post.