Entwickler-Ecke

Sonstiges (.NET) - "=" Zeichen in Excelzelle schreiben


mrtfr - Di 09.04.19 13:14
Titel: "=" Zeichen in Excelzelle schreiben

C#-Quelltext
1:
2:
3:
4:
char equal = '\u003d';
int rowIndex10b = 19int colIndex10b = 4// row = Zeile | col = Spalte
excelApp.Cells[rowIndex10b, colIndex10b] = Convert.ToString(equal) + "DATEDIF(C15; C16;\"d\")";
excelApp.Visible = true;

Nachher soll =DATEDIF(C15; C16;\"d\") in der Zelle stehen. Er meckert aber immer mit dem =Zeichen. Habe schon verschiedene Möglichkeiten probiert.. Also auch \= aber das tut nicht.
Ich bin sehr verzweifelt. :autsch:

Moderiert von user profile iconTh69: Code-Tags hinzugefügt
Moderiert von user profile iconTh69: Topic aus WinForms verschoben am Di 09.04.2019 um 13:43


Ralf Jansen - Di 09.04.19 13:38

Laut Dokumentation soll man seine Formel der Formula Property einer Zelle zuweisen. Also vermutlich etwa so


C#-Quelltext
1:
excelApp.Cells[rowIndex10b, colIndex10b].Formula = @"DATEDIF(C15; C16;""d"")";                    


mrtfr - Di 09.04.19 14:34

user profile iconRalf Jansen hat folgendes geschrieben Zum zitierten Posting springen:
Laut Dokumentation soll man seine Formel der Formula Property einer Zelle zuweisen. Also vermutlich etwa so


C#-Quelltext
1:
excelApp.Cells[rowIndex10b, colIndex10b].Formula = @"DATEDIF(C15; C16;""d"")";                    


Erstmal Danke! Jedoch habe ich das auch schon probiert... In der Zelle erscheint dann aber nur DATEDIF(C15; C16;"d")... Also fehlt das = Zeichen und Excel erkennt es nicht als Formel.


Delete - Di 09.04.19 15:46

- Nachträglich durch die Entwickler-Ecke gelöscht -


Ralf Jansen - Di 09.04.19 20:34

Ich hatte es in meinem Beispiel absichtlich weggelassen. Ohne es auszuprobieren war ich der Auffassung das es keinen Sinn macht wenn das Objektmodell schon zwischen einem einfachen Inhalt und einer Formel unterscheidet das man den Formelmarker dann immer noch explizit hinschreiben muss. Das mag in Realität anders sein.


mrtfr - Di 16.04.19 09:23

Naja, nur bringt er mir mit = wieder die Fehlermeldung und stürzt ab..
user defined image


Th69 - Di 16.04.19 09:49

Und was steht in den Details der Ausnahme?

Edit: Probiere mal Komma statt Semikolon (intern ist alles en-US):

C#-Quelltext
1:
@"=DATEDIF(C15,C16,""d"")";                    

s.a. Exception HRESULT: 0x800A03EC when inserting an Excel formula [https://stackoverflow.com/questions/34879223/exception-hresult-0x800a03ec-when-inserting-an-excel-formula] sowie (Excel) List separator [https://exceljet.net/glossary/list-separator]

PS: Suchbegriff im Internet "excel formula exception 0x800a03ec" ;-)


mrtfr - Di 30.04.19 09:19

Danke Danke Danke!!!!!!!!
Hat mein Problem gelöst. Ich war so auf das = fixiert.

Moderiert von user profile iconTh69: Vollzitat entfernt.