Programmation C # Excel – Reconstituez constamment le type de données spécifié dans la scope

J'utilise les classs Microsoft Excel dans le cadre d'un programme que j'écris. Je tente d'append une valeur décimale (item.Amount) à une cellule Excel; mais je reçois l'erreur suivante:

+ $exception {"Operator '+=' cannot be applied to operands of type 'double' and 'decimal'"} System.Exception {Microsoft.CSharp.RuntimeBinder.RuntimeBinderException} 

Je comprends ce qui dit, mais je ne sais pas comment forcer le programme à afficher datatables Excel comme décimales au lieu d'un double. Cette ligne ci-dessous me donne des problèmes:

  foreach (SalesItem item in store.salesPLUItems) { this.sheet.Range[item.colNumber + row].Value2 += item.amount; if (item is CreditSales && item.colNumber != "") { this.sheet.Range[((CreditSales)item).countCol + row].Value += ((CreditSales)item).itemCount; } } 

J'ai essayé l'ajout suivant:

  // ensure Excel sees value as decimal this.sheet.Range[item.colNumber + row].Value = Convert.ToDecimal(this.sheet.Range[item.colNumber + row].Value); this.sheet.Range[item.colNumber + row].Value2 += item.amount; 

sans succès. Aucun des éléments suivants ne comstack même

  Convert.ToDecimal( this.sheet.Range[item.colNumber + row].Value) += item.amount; (this.sheet.Range[item.colNumber + row].Value as Decimal) += item.amount; 

J'ai essayé de jeter l'item.amount à un double. Cependant, j'ai toujours reçu l'erreur, juste à une autre ligne; les rôles ont simplement été inversés: la valeur de la gamme Excel était considérée comme décimale et item.amount comme double.

Merci pour tout conseil.