martinposer Geschrieben 22. Juni 2012 Geschrieben 22. Juni 2012 Hallo, erstmal der Code meiner Klasse: public static class WriteExcel { public static bool LetsGo(int Zeilen, int Spalten, string[,] Inhalt) { try { //Variablen für die Excelanwendung, Excelworkbook und Worksheet anlegen Application Excel = new Application(); Workbook ExcelWorkbook; Worksheet ExcelWorksheet; //Sogenannter First Contact (Der Excel Prozess wird initialisiert) Excel.Visible = true; Excel.ScreenUpdating = true; //Das Workbook (die eigentliche Exceldatei) wird angelegt var mycount = Excel.Workbooks.Count; ExcelWorkbook = (Workbook)(Excel.Workbooks.Add(System.Reflection.Missing.Value)); ExcelWorksheet = (Worksheet)(ExcelWorkbook.ActiveSheet); //Inhalte aus dem String Array einfügen for (int i = 0; i < Zeilen; i++) { for (int j = 0; j < Spalten; j++) { ExcelWorksheet.Cells[i+1, j+1] = Inhalt[i, j]; } } return true; } catch { return false; } } } Diese Methode fügt den Inhalt eines Mehrdimensionalen Arrays in eine Exceltabelle ein. Nun möchte ich aber noch folgendes erreichen: 1. Die Spaltenbreite soll sich automatisch anpassen. 2. Die Umlaute sollen korrekt dargestellt werden. Mit welchen Befehlen erreiche ich das? Gibt es überhaupt einen Befehl der die Standardsprache auf Deutsch setzt oder so ähnlich? Vielen Dank ;-)
martinposer Geschrieben 28. Juni 2012 Autor Geschrieben 28. Juni 2012 Hallo nochmal, habe es nun selbst rausgefunden: zu 1. Durch ExcelWorkSheet.Columns.AutoFit() wird die Größe der Zellen dem Inhalt angepasst. zu 2. Hierbei lag der Fehler nicht an Excel, sondern daran das ich die Inhalte mit einem StreamReader aus einer Textdatei gelesen habe. Beim StreamReader muss man dann nur Encoding.Default einstellen.
streffin Geschrieben 28. Juni 2012 Geschrieben 28. Juni 2012 Du kannst 2 Dimensionale Arrays in Excel auch direkt als Range Object einfügen / einlesen. Da würdest du dir das Array geloope spaaren. Gruß Sven
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden