2016-06-16 4 views
1

Ich erstelle ein Excel-Tabellenblatt mit C# und Gembox.Gembox Nullwert brechende Formel

Ich bekomme die Daten von SQLServer in einer Datentabelle und ich habe eine Situation, wo, wenn eine Zelle in der Datentabelle NULL ist, die in das Excel-Objekt setzen alle Formeln, die diese Excel-Zelle brechen.

z.B. Ich bekomme diese:

enter image description here

Sie können sehen, dass, wenn die P4 2015 Spalte eine leere Zelle dann die Formel in den var Spaltenumbrüche. Wenn ich die Zelle in Excel auswähle und auf Löschen klicke, dann gebe die Formel ein.

Also Gembox setzt etwas in die Zelle, die die Formel bricht, aber ich bin mir nicht sicher was. Ich habe versucht, nach Null-Werten zu suchen und stattdessen eine leere Zeichenfolge einzufügen, aber das funktioniert nicht.

Hat jemand das schon einmal gesehen oder weiß, wie man es löst? (Hinweis - Ich brauche die Zelle, um leer zu sein - ich möchte keine 0 hinein geben).

+1

GemBox.Spreadsheet schreibt nichts in die Zelle, wenn es keinen Wert hat. Welche Version von GemBox.Spreadsheet verwenden Sie? Auch welche Formel hast du da (ich konnte das nicht mit der einfachen Formel "= A1 + B1 + C1 + D1" wiedergeben)? Zuletzt nur zur Bestätigung, dass Sie die InsertDataTable-Methode verwenden, um DataTable in ExcelWorksheet zu importieren. Ist das korrekt? –

+0

@MarioZ Gembox 3.7 für .Net 4.5. Die Formel ist eine einfache, = E60-F60 und die Daten stimmen nicht mit der Excel-Tabelle überein, so dass ich Zeilen/Spalten durchlaufe, um zu bekommen, was ich benötige (Es ist ein sehr komplexer Satz von SQL-Abfragen, um die obige Tabelle zu erstellen) . Ich habe es gelöst, indem ich nach 'string.IsNullOrEmpty' gesucht und ein' null' Objekt in die Excel-Zelle eingefügt habe. Ich füge jetzt meine Antwort hinzu. – Rick

Antwort

1

ich es geschafft, um diesen Fehler mit dem folgenden zu erhalten:

Grundsätzlich prüfe ich den Wert, den ich in die Excel-Zelle bin Einfügen - wenn es eine leere Zeichenfolge ist dann oder null dann speziell ich null in die Tabelle einfügen.

Ich denke, alle Probleme, die ich hatte, wurden durch eine leere Zeichenfolge verursacht, die in eine Zahlspalte in der Tabelle eingefügt wurde.