Forum: PC-Programmierung C# ExcelPackage Formula Semikolon


von Guelay (Gast)


Lesenswert?

Hallo zusammen,

ich habe das "ExcelPackage" in mein Visual Studio Projekt eingebunden 
und möchte per C# eine Exceltabelle generieren. In einigen Zellen in der 
Tabelle möchte ich die folgende Formel einfügen:
1
 worksheet.Cells[row, 10].Formula = $"=WENN(UND(F{row}=\"\";G{row}=\"\";H{row}=\"\");A{row};VERKETTEN(\"=\";F{row};WENN(G{row}=\"\";\"\";WIEDERHOLEN(\"_\";3-LÄNGE(G{row})));G{row};\"-\";H{row}))";

Das Problem ist: Das Semikolon wird als "|" Zeichen in die Tabelle 
eingefügt und es werden dann Errors in den Zellen angezeigt. Wo mache 
ich falsch?

Gruß

von Dirk K. (merciless)


Lesenswert?

Hast du mal den String in eine Variable
geschrieben und im Debugger angeschaut?

merciless

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

Guelay schrieb:
> Wo mache
> ich falsch?

Eventuell benötigt das semikolon ein escape vorran. Ausprobieren...

von Guelay (Gast)


Lesenswert?

Irgend W. schrieb:
> Guelay schrieb:
>> Wo mache
>> ich falsch?
>
> Eventuell benötigt das semikolon ein escape vorran. Ausprobieren...

hab den string in einer variable geschrieben mit im Debugger angeschaut. 
Im Debugger sieht alles richtig aus. Semikolon benötigt ein Escape im 
String. Wenn ich die Exceltabelle öffne dann sehe ich in den Zellen 
statt Semikolons die | Zeichens und es wird error ausgegeben. Wie kann 
das sein?

von Guelay (Gast)


Lesenswert?

Guelay schrieb:
> Irgend W. schrieb:
>> Guelay schrieb:
>>> Wo mache
>>> ich falsch?
>>
>> Eventuell benötigt das semikolon ein escape vorran. Ausprobieren...
>
> hab den string in einer variable geschrieben mit im Debugger angeschaut.
> Im Debugger sieht alles richtig aus. Semikolon benötigt ein Escape im
> String. Wenn ich die Exceltabelle öffne dann sehe ich in den Zellen
> statt Semikolons die | Zeichens und es wird error ausgegeben. Wie kann
> das sein?

Semikolon benötigt kein escape im string.

von Dirk K. (merciless)


Lesenswert?

Guelay schrieb:
> Irgend W. schrieb:
>> Guelay schrieb:
>>> Wo mache
>>> ich falsch?
>>
>> Eventuell benötigt das semikolon ein escape vorran. Ausprobieren...
>
> hab den string in einer variable geschrieben mit im Debugger angeschaut.
> Im Debugger sieht alles richtig aus. Semikolon benötigt ein Escape im
> String. Wenn ich die Exceltabelle öffne dann sehe ich in den Zellen
> statt Semikolons die | Zeichens und es wird error ausgegeben. Wie kann
> das sein?

Ich würde folgende Sachen probieren:

1. Formel in Variable speichern, in die Zelle schreiben,
   wieder auslesen und mit der Variable vergleichen.
   Ich vermute die Excel-Komponente verändert da was
   (vermutlich läuft da ein Parser für die Formel).

2. Formel von Hand in die Zelle in Excel eintragen,
   funktioniert das dann?

3. Ersetze mal die ';' durch ',' und teste.

Für mich sieht der String (als String in C#) korrekt
aus. Ich habe allerdings kaum Erfahrungen mit Formeln
in Excel und weiß nicht, ob die Formel korrekt ist.

merciless

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.