J'utilise la bibliothèque OpenXML pour prendre une table de données et la coller dans un fichier Excel préformaté. Cela fonctionne bien.
Le problème que je rencontre est qu'il y a une ligne de sous-total en haut du fichier Excel préformaté, qui est configurée pour faire un sous-total de chaque colonne de ces données (il y a donc un sous-total en haut de chaque colonne). Lorsque j'ouvre le fichier Excel après sa création, ces valeurs sont toutes définies sur 0, elles n'ont pas été mises à jour lorsque le tableau de données a été inséré. Si vous mettez en surbrillance l'une de ces cellules de sous-total et que vous appuyez sur la touche Entrée, elle se met à jour et affiche la bonne valeur.
Quel est le moyen le plus simple pour que ces valeurs soient mises à jour et affichent la valeur correcte dès que l'utilisateur ouvre la feuille de calcul téléchargée ?
Code pour la création de la feuille de calcul :
MemoryStream memoryStream = SpreadsheetReader.StreamFromFile(TemplateDirectory + @"\" + "exceltTemplate.xlsx");
doc = SpreadsheetDocument.Open(memoryStream, true);
worksheetPart = SpreadsheetReader.GetWorksheetPartByName(doc, currentSheetName);
writer = new WorksheetWriter(doc, worksheetPart);
cellName = "A8";
writer.PasteDataTable(reports.Tables[0], cellName);
SpreadsheetWriter.Save(doc);