Veröffentlicht 22. Juni 201213 j 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 ;-)
28. Juni 201213 j 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.
28. Juni 201213 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.