invoquer la formule dans excel via epplus
J'ai une feuille excel dans ASP.NET MVC4 projet C# et je suis capable de lire à partir d'une feuille excel avec succès à l'aide de EPPlus. Maintenant, je veux être en mesure de passer à 2 chiffres dans la cellule C:2 C:3 et être en mesure d'invoquer la formule C:4, qui est =SOMME(C2:C3).
Donc, à partir de C# que je veux passer en 4 et 6 et invoquer la formule et être en mesure d'obtenir le résultat en arrière à partir de C:4, qui est de 40 (SOMME de 10 et 30). Comment puis-je le réaliser en C#.
Dans le code suivant, je serai de retour à zéro pour d.Moyenne
d.Average = Convert.ToDouble(currentWorksheet.Cells["C4"].Value);
Voici mon code en c# la mesure de traverser une ligne.
using (var package = new ExcelPackage(existingFile))
{
ExcelWorkbook workBook = package.Workbook;
var currentWorksheet = workBook.Worksheets.First();
currentWorksheet.Workbook.CalcMode = ExcelCalcMode.Automatic;
currentWorksheet.Cells["C4"].Formula = "=SUM(C2:C3)";
currentWorksheet.Cells["C2"].Value = 10;
currentWorksheet.Cells["C3"].Value = 30;
package.Save();
}
using (var package = new ExcelPackage(existingFile))
{
ExcelWorkbook workBook = package.Workbook;
var currentWorksheet = workBook.Worksheets.First();
d.Average = Convert.ToDouble(currentWorksheet.Cells["C4"].Value);
}
Ce qui est d.FinalResult? Quel est le problème que vous rencontrez?
OriginalL'auteur dotnet-practitioner | 2014-01-17
Vous devez vous connecter pour publier un commentaire.
Sauter le
=
dans la formule de la chaîne.Remplacer
currentWorksheet.Cells["C4"].Formula = "=SUM(C2:C3)";
avec
currentWorksheet.Cells["C4"].Formula = "SUM(C2:C3)";
OriginalL'auteur ogborstad
De EpPlus 4.0.1.1, il est une méthode d'extension
Calculate(this ExcelRangeBase range)
. L'invoquer avant d'accéder àValue
propriété:et
currentWorksheet.Cells["C4"].Value
sera de retour la valeur attendue de40
après.OriginalL'auteur Deilan
J'ai relu ma réponse précédente et a trouvé que le moteur de calcul de EPPLUS est toujours en développement.
Voir cette discussion sur CodePlex. (datant de 2011)
Une cite de la feuille de route page:
Patrick cela ne fonctionne pas.
Vous êtes de droite. Voir ma réponse mis à jour.
OriginalL'auteur Patrick Hofman