Autor Beitrag
sebastian1234
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46



BeitragVerfasst: Di 13.05.14 19:11 
Nabend zusammen,

folgende Ausgabe in einer .txt Datei sieht im Moment so aus...

1;A
2;B,C,D,E

Sie soll aber ab jetzt so aussehen...

1;A
2;B
2;C
2;D
2;E

int i = 1; bestimmt die erste Zahl vor dem ;!

Hinter index <> Indexzuordnung (objs) verbirgt sich...

0 - A
1 - B
2 - C
3 - D
4 - E

Folgende Methode führt die Ausgabe durch

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
void DateiAusgabe(List<List<int>> indexZuordnung)
        {
            StreamWriter file = new System.IO.StreamWriter("c:\\Clusteranalyse.txt");
            int i = 1;

            foreach (List<int> index in indexZuordnung)
            {
                String[] objs = new String[index.Count];
                int j = 0;

                foreach (int v in index)
                {
                    objs[j++] = this.KundenNamen[v];
                    
                }
                
                file.WriteLine(i++ + ";" + String.Join(",", objs));
            }

            file.Close();
        }


Was muss umgestellt werden damit mein gewünschtes SOLL Ergebnis herauskommt?

Viele Grüße!
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 13.05.14 19:20 
Schieb den WriteLine in die innere Schleife. Sollte dann vermutlich so aussehen.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
foreach (int v in index)
{
    objs[j] = this.KundenNamen[v];
    file.WriteLine(i + ";" + objs[j])); 
    j++;
}
i++;



Wobei ich das doof finde eine Variable für einen Index zu definieren aber danach einen foreach zu machen.
Dann kann man auch gleich eine simple for Schleife nehmen und man bekommt den Index geschenkt.
sebastian1234 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 46



BeitragVerfasst: Mi 14.05.14 17:05 
Okay danke das hat wunderbar funktioniert!

Ich habe die Methode nun weiter angepasst, da sie nicht als .txt ausgegeben werden soll sondern als .xls!

ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
  void ExcelAusgabe(List<List<int>> indexZuordnung)
        {
            Microsoft.Office.Interop.Excel.Application xls = new Microsoft.Office.Interop.Excel.Application();
            Workbook wb = xls.Workbooks.Add(XlSheetType.xlWorksheet); 
            Worksheet ws = (Worksheet)xls.ActiveSheet;


            // Festen Speicherplatz definieren!!! unter "c:\\Clusteranalyse.xls"

            xls.Visible = true;
            
            ws.Cells[11] = "Cluster";
            ws.Cells[12] = "Objekt";
            int i = 1;
            int y = 2;
            foreach (List<int> index in indexZuordnung)
            {
                String[] objs = new String[index.Count];
                int j = 0;
                
                foreach (int v in index)
                {
                    objs[j] = this.KundenNamen[v];
                    
                    ws.Cells[y, 1] = i;
                    ws.Cells[y, 2] = objs[j];
                    y++;
                    j++;
                }
                i++;
                
                
            }


Wie muss ich nun die Methode umbauen, damit die .xls Datei unter dem Verzeichnis "c:\\Clusteranalyse.xls" abgespeichert wird?

Viele Grüße!!!
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 14.05.14 17:22 
Hallo,

bitte erstelle für eine neue Frage auch einen neuen Thread. Das Arbeiten mit Office-Dokumenten ist dann doch was anderes, als das Ausgeben in eine Text-Datei. ;-)

Viele Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Dieses Thema ist gesperrt, Du kannst keine Beiträge editieren oder beantworten.

Das Thema wurde von einem Team-Mitglied geschlossen. Wenn du mit der Schließung des Themas nicht einverstanden bist, kontaktiere bitte das Team.