Autor Beitrag
Geniuzz
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Do 04.10.07 11:08 
Moin,

ich möchte eine Excel(.xls) Datei, in ein DataGrid füllen.
Mein code lautet bis jetzt wie folgt:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
        private void öffnenToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "Exceldatein (*.xls)|*.xls";/*Filter nur xls "Exceldatein"*/
            ofd.ShowDialog();

            if (ofd.ShowDialog() == DialogResult.OK)
            { 
                try
                {
                    StreamReader sr = new StreamReader(ofd.FileName);
                    sr.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Texteditor");
                }

            }
        }


Ich müsste ja irgendwie nach meinem Stream, die eingelesene Datei in den DataGrid einfügen können oder?
Vielen Dank schon mal

Geniuzz

Moderiert von user profile iconChristian S.: Quote- durch C#-Tags ersetzt
Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Do 04.10.2007 um 11:25
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Do 04.10.07 11:17 
Für Excel ist ein StreamReader das falsche Verfahren (wegen des speziellen Excel-Formats). Suche besser im Bereich OleDbConnection usw. Jürgen
Geniuzz Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Do 04.10.07 11:30 
Okay ich werde mal schauen :) Vielen dank erstmal...

geniuzz
Geniuzz Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Fr 05.10.07 17:28 
Also irgendwie komme ich hier nicht weiter...
Ich bin ja auch noch Anfänger :)

So ich die connection zu der xls Datei steht aber wie kann ich darauf jetzt zugreifen? so das es im datagrid erscheint?
Vieleicht ist es ja ganz einfach, aber ich habe aber auch schon msdn durchforstet, komme aber einfach nicht weiter..

Über einen kleinen weiteren Tip wäre ich super Glücklich :)
Vielen Dank

geniuzz
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Fr 05.10.07 17:47 
  • Ausführliche Einführung z.B. im OpenBook Visual C# Kap.26
  • Kurzes Beispiel in der SDK-Doku OleDbCommand-Klasse für den Zugriff auf einzelne Zeilen
  • Erläuterungen für den Zugriff auf eine Menge von Zeilen in den Varianten der DbDataAdapter.Fill-Methode
  • Erläuterungen zum Speichern im Beispiel zur OleDbDataAdapter-Klasse
  • Aufbau des ConnectionStrings siehe [url=www.connectionstring...ionstrings.com[/url]

Gruß Jürgen
Geniuzz Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Mo 08.10.07 09:45 
Vielen Dank..
Geniuzz Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Mo 08.10.07 12:34 
DANKE DANKE DANKE!!! JüTho
hat super geklappt...

Mein erfolgreicher Code:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
private void öffnenToolStripMenuItem_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();
            openFileDialog1.Filter = "Excelfile (*.xls)|*.xls|Alle Dateien (*.*)|*.*";
            openFileDialog1.ShowDialog(); 

            
            string DateiName = openFileDialog1.FileName.Substring(3).ToString();
            

            String strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source= " + DateiName + ";" + "Extended Properties=Excel 8.0;";

            DataSet ds = new DataSet(strConn);
            OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [Kontoauszug$]", strConn);

            da.Fill(ds, "Table");
            dataGridView1.DataSource = ds.Tables[0].DefaultView;

        }


MfG

Geniuzz

Moderiert von user profile iconChristian S.: Quote- durch C#-Tags ersetzt