Forum: PC-Programmierung C# ExcelPackage Formula Semikolon


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Guelay (Gast)


Bewertung
0 lesenswert
nicht 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:
 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)


Bewertung
0 lesenswert
nicht lesenswert
Hast du mal den String in eine Variable
geschrieben und im Debugger angeschaut?

merciless

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


Bewertung
0 lesenswert
nicht lesenswert
Guelay schrieb:
> Wo mache
> ich falsch?

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

von Guelay (Gast)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.