This is vba, but it should be fairly easy to convert to C#.
I wrote this in response to your question. Using testit
updates approximately 16000 cells, and took about 6 seconds. The basic idea is to copy the Excel formulas into an array, update the array, and then paste the array back into Excel as the formulas.
Sub testit()
appendTextToRange "A1:D4000", "hey there"
End Sub
Sub appendTextToRange(rngAddress As String, append As String)
Dim arr() As Variant, c As Variant
arr = Range(rngAddress).Formula
For x = LBound(arr, 1) To UBound(arr, 1)
For y = LBound(arr, 2) To UBound(arr, 2)
Debug.Print arr(x, y)
If arr(x, y) = "" Then
arr(x, y) = append
ElseIf Left(arr(x, y), 1) = "=" Then
arr(x, y) = arr(x, y) & " & "" " & append & """"
Else
arr(x, y) = arr(x, y) & " " & append
End If
Next
Next
Range(rngAddress).Formula = arr
End Sub
Warning: If you update any fields that are used for calculation with this, you will break your calculations.