2016-06-24 17 views
0

Wenn EPPlus verwenden, Ich versuche, das Ergebnis einer Formel in eine ZelleEPPlus Formula Evaluation

dh einzufügen:

Worksheet.Cells["A4"].Value = 3 
Worksheet.Cells["A5"].Value = 4 
Worksheet.Cells["A6"].Formula = "=SUM(A3:A4)" 
Worksheet.Cells["A6"].Calculate() 

Im Arbeitsblatt i wird die Formel in der Bearbeitungsleiste sehen, aber Was ich möchte, ist die Formel in EPPlus zu bewerten und den Wert in die Zelle einzufügen. Wenn ich in die Zelle klicke, sehe ich nur 7 und nicht =SUM(A3:A4)

Der Grund dafür ist, weil ich große Arbeitsblatt habe (aus geschäftlichen Gründen) und die Formeln berechnen, wenn das Öffnen bedeutet, dauert das Blatt etwa 20 Sekunden zu laden

+0

einfach überspringen Sie die '=', sollte es sein: 'Worksheet.Cells [ "A6"] Formel = "SUM (A3: A4)".' – Hackerman

+0

Danke für Ihre Antwort. Das hat nicht funktioniert. Es zeigt immer noch die Formel und das Formelergebnis versucht zu berechnen, wenn das Blatt geöffnet wird – telsokari

+0

Schauen Sie sich dieses Q & A an: http://stackoverflow.com/questions/21189163/invoke-formula-in-excel-via-epplus – Hackerman

Antwort

0

Wenn Sie die tatsächliche Formel berechnen und entfernen möchten, bevor Sie die Arbeitsmappe an den Client senden, sollten Sie die Formeleigenschaft auf string.Empty festlegen, nachdem Sie Calculate() aufgerufen haben. Der berechnete Wert wird in der Value-Eigenschaft der Zelle gespeichert.

0

nur swmal Antwort zu veranschaulichen:

epplus calculate