Excelexport - Zellenformatierung
-
Hallo zusammen,
hab in meiner C# Anwedung einen Export nach Excel eingebaut.
Nun würde ich gerne einem bestimmten Bereich
Range rg = worksheet.get_Range("B3", "G3");
das Währungsformat zuweisen. Also dass es 2-Nachkommastellen gibt (die mir bereits dargestellt werden) und dass das €-Zeichen dahinter erscheint.
Von Vorteil wäre es auch, wenn mein worksheet im Querformat wäre.
Leider bin ich mit Befehlen wie PageSetup nicht weitergekommen.Wäre super, wenn mir jemand weiterhelfen könnte! Danke!
-
Das mit dem Querformat hab ich mal so versucht:
Excel.Application oXL = new Excel.Application(); Excel.Workbook theWorkbook; Excel.Worksheet worksheet = new Excel.Worksheet(); worksheet.PageSetup.Orientation = XlPageOrientation.xlLandscape;
Jedoch erhalte ich immer folgende Fehlermeldung:
Das COM-Objekt des Typs "Excel.WorksheetClass" kann nicht in den Schnittstellentyp "Excel._Worksheet" umgewandelt werden. Dieser Vorgang konnte nicht durchgeführt werden, da der QueryInterface-Aufruf an die COM-Komponente für die Schnitstelle ...
Leider verstehe ich das nicht so recht.
Könnte mir vielleicht jemand weiterhelfen, wie ich mein Sheet als Querformat einrichten kann?
-
Hat niemand eine Idee, wie man Excel auf Querformat einrichten kann??
-
macht er das auch wenn du = 2 hinschreibst
und geb deinem worksheet mal nen anderen namen
-
Du meinst so?
worksheet.PageSetup.Orientation = 2;
Das klappt leider nicht ...
Der Typ "int" kann nicht implizit in "Excel.XlPageOrientation" konvertiert werden. Es ist bereits eine explizite Konvertierung vorhanden. (Möglicherweise fehlt eine Umwandlung.)
-
na aeh dings .. musst ne constante anlegen dann dürfte es doch gehen glaub ich ^^
-
Tut mir leid, irgendwie steh ich auf dem Schlauch und weiß grad nicht mehr, was ich machen soll.
-
kann dir grad auch nicht wirklich ne lösung sagen ich vermute nur ..
1. gib deiner worksheet variable mal eine andere Bezeichnung.
2. Lege dir eine Constante an:const int cQuerformat = 2;
worksheet.PageSetup.Orientation = cQuerformat;dann könnte es klappen. Die Enum eigenschaften sind ja auch const.
Hatte auch mal so ein änhnliches Problem kann aber grad nicht nachschauen.
-
Das deklarieren einer Konstante ändert leider auch nichts. Ich erhalte auch dabei die selbe Fehlermeldung:
Der Typ "int" kann nicht implizit in "Excel.XlPageOrientation" konvertiert werden. Es ist bereits eine explizite Konvertierung vorhanden. (Möglicherweise fehlt eine Umwandlung.)
-
Wie wäre es wenn ihr nicht versucht irgendwelchen Quatsch in ein Objekt zu pusten und die Fehlermeldung richtig interpretiert und mal google anstrengt? Dann muss man nämlich auch nicht Mutmaßen was es sein könnte.
http://msdn.microsoft.com/de-de/library/microsoft.office.tools.word.document.pagesetup(VS.80).aspx
-
So hatte ich es doch versucht
worksheet.PageSetup.Orientation = XlPageOrientation.xlLandscape;
-
Ja da hast du recht. Leider war deine Variante nicht ganz komplett. Du musst dir das Worksheet von deinem Aktuellen Workbook holen, weil woher soll C# wissen auf welches Workbook sich dein Worksheet bezieht?
Eventuell hilft dir das weiter:
http://support.microsoft.com/kb/302084
-
@Firefighter
Danke für den Tipp! Jetzt hat's funktioniert, vielen Dank!