2016-11-28 1 views
2

Vous essayez d'écrire une formule simple à l'aide d'EPPLUS, mais vous n'arrivez pas à la contourner.Problèmes EPPLUS avec les formules

La formule est la suivante: = C12- (SOMME (D12: E12))

J'ai essayé diverses combinaisons, mais pas trop sûr quelle option me permettra de définir une telle formule simple.

Il se plaint toujours de « - » ne peut pas être appliquée à la chaîne de chaîne, etc.

Toute idée comment écrire cette formule

worksheet.Cells[this.CurrRow, CurrColumn + 1].Formula = "SUBTOTAL" + (worksheet.Cells[this.CurrRow, iStart_column - 1]) - ("SUM(" + worksheet.Cells[this.CurrRow, iStart_column, this.CurrRow, CurrColumn]); 
+0

http://pastebin.com/3GWZZi3G c'est ma dernière tentative –

Répondre

4

Si je comprends ce que vous essayez de faire, vous générez les formules dynamiquement. Dans ce cas, vous obtenez une erreur parce que vous utilisez un math - sur les chaînes qui, bien sûr, ne peut pas vraiment être fait. Je pense que ce que vous allez pour quelque chose comme ceci:

worksheet.Cells[this.CurrRow, CurrColumn + 1].Formula = "=SUBTOTAL("+ worksheet.Cells[this.CurrRow, iStart_column - 1].Address + "-(SUM(" + worksheet.Cells[this.CurrRow, iStart_column, this.CurrRow, CurrColumn].Address + ")))"; 

Notez l'utilisation des propriétés Address qui donneront la représentation chaîne des Cell objets.

Remarque: Votre implémentation de SUBTOTAL n'est pas vraiment correcte et Excel s'en plaindra quand il ouvrira le fichier. Ceci est plus un problème excel alors un EPPlus donc vous devrez travailler cela ou poster plus de détails.

+0

Great. Ouais la table est dynamique. Merci. Je ne suis pas sûr de l'option que je devrais utiliser mais j'essaierai encore et rapport. Bravo –

+0

c'est étrange. J'ai mis à jour ma ligne et pourrait exécuter l'application et produire l'excel. la commande apparaît OK mais obtient #VALUE! message à la place. Cependant, si je copie et colle la formule de la même cellule et la colle ailleurs dans la feuille de calcul j'obtiens le bon résultat. http://pastebin.com/eySwexzS. Des idées? –

+0

cela a semblé fonctionner. http://pastebin.com/HXeSg5tb –