This looks pretty complicated:
Excel.Range excelRange = sheet.UsedRange;
object[,] valueArray = (object[,])excelRange.get_Value(Excel.XlRangeValueDataType.xlRangeValueDefault);
valueArray[2, 2] = 12345678;
excelRange.Value = valueArray;
try this instead:
Cells(2, 2).Value = 12345678;