Das Problem sind häufig die vielen Punkte beim Aufruf der Excelfunktionen.
Delphi-Quellcode:
// kleines Beispiel
excel.activesheet.cells(1,j+1).EntireColumn.NumberFormat:='@';
Wenn man immer ganz oben beginnt und sich durch die Objekthierarchie von Excel herunterhangelt dann geht unheimlich viel Zeit verloren.
Wenn man's geschickt macht und viele Zellen auf einmal als Variantarray ausliest/schreibt dann kommt man auf Geschwindigkeiten von mehreren Tausend Zellen pro Sekunde.
Ob du C#, C++ oder Delphi verwendest ändert an der Geschwindigkeit gar nichts wenn 1000 Mal mehr Zeit durch obiges Problem verbraten wird.
Am ungeeignetsten ist C++ weil die Ansteuerung von Dispatch-Interfaces ziemlich unschön ist.
C# und Delphi sind da besser geeignet wobei ich Delphi vorziehen würde weil der Resourcenhunger kleiner ist und man kein .NET Framework benötigt.