Ausführliche Erläuterung des Beispielcodes zum Erstellen von Excel-Dateien und zum Exportieren von Daten in Excel-Dateien in C# (Bild)

黄舟
Freigeben: 2017-03-13 17:47:16
Original
2240 Leute haben es durchsucht

Werkzeugmaterialien:

Windows 7, Visual Studio 2010, Microsoft Office 2007

Lösung erstellen

Menü》Neu》Projekt》Windows Forms-Anwendung:


Zugehörige Komponenten hinzufügen:

Fügen Sie zwei DataGridView, ein TextBox und zwei Schaltflächen hinzu, wie unten gezeigt:


Excel-Ressource hinzufügen:

C#Erstellen Sie eine Excel-Datei. Hier wird tatsächlich eine vorab erstellte Excel-Datei aus der Ressource extrahiert. Verwenden Sie abschließend die OleDb-Methode, um eine Verbindung zu Excel herzustellen und Daten in die Excel-Datei zu schreiben.

Erstellen Sie zunächst eine neue Excel-Datei im Ordner und legen Sie die Spaltennamen in der ersten Zeile von Sheet1 fest:


Double -Klicken Sie auf die Datei „Resources.resx“, um die Ressourcendateiansicht zu öffnen:


Fügen Sie eine vorhandene Datei hinzu und wählen Sie die gerade erstellte Excel-Datei aus


Extrahieren Sie die Excel-Datei aus der Ressource

            string excelPath = AppDomain.CurrentDomain.BaseDirectory + "Excel" + DateTime.Now.Ticks + ".xlsx";
            if (System.IO.File.Exists(excelPath))
            {
                textBox1.Text += ("文件已经存在!");
                return;
            }

            try
            {
                //从资源中提取Excel文件
                System.IO.FileStream fs = new System.IO.FileStream(excelPath, FileMode.OpenOrCreate);
                fs.SetLength(0);
                fs.Write(Properties.Resources.Excel, 0, Properties.Resources.Excel.Length);
                fs.Close();
                fs.Dispose();
                textBox1.Text = "提取Excel文件成功!" + "\r\n";
            }
            catch (System.Exception ex)
            {
                excelPath = string.Empty;
                textBox1.Text += ("提取Excel文件失败:" + ex.Message);
                textBox1.Text += ("\r\n");
                Application.DoEvents();
                return;
            }
Nach dem Login kopieren

Definieren Sie die Verbindungszeichenfolge

//定义OleDB连接字符串
            string strConn = "Provider=Microsoft.Ace.OleDb.12.0;Persist Security Info=False;" + "data source=" + @excelPath + ";
            Extended Properties='Excel 12.0; HDR=yes; IMEX=10'";
            OleDbConnection conn = new OleDbConnection();
            conn.ConnectionString = strConn;
Nach dem Login kopieren

Hinweis: Der Wert von IMEX in der Verbindungszeichenfolge ist 10. Wenn es 1 oder 2 ist, wird der Fehler „ Vorgang muss eine aktualisierbare Abfrage verwenden“ gemeldet, wenn die Insert Into-Anweisung ausgeführt wird.

Zeigen Sie die Informationen aller Tabellen in der Excel-Datei in dataGridView1 an

                DataTable oleDt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                dataGridView1.DataSource = oleDt;
                dataGridView1.Show();
Nach dem Login kopieren

Fügen Sie mehrere Datenelemente in die Tabelle „Sheet1“ ein. Wenn Sie auf die Excel-Tabelle zugreifen, müssen Sie diese hinzufügen Nach dem Tabellennamen muss die Insert-Anweisung nicht den Spaltennamen

                OleDbCommand cmd = null;
                try
                {
                    //向"Sheet1"表中插入几条数据,访问Excel的表的时候需要在表名后添加"$"符号,Insert语句可以不指定列名
                    cmd = new OleDbCommand("Insert Into [Sheet1$] Values('abc', 'bac', '0', '123456', 'test','测试','aa')", conn);//(A,B,C,D,E,F,G) 
                    cmd.ExecuteNonQuery();
                    cmd.ExecuteNonQuery();
                    cmd.ExecuteNonQuery();
                    cmd.ExecuteNonQuery();
                    cmd.ExecuteNonQuery();
                }
                catch (System.Exception ex)
                {
                    textBox1.Text += ("插入数据失败:" + ex.Message);
                    textBox1.Text += ("\r\n");
                }
Nach dem Login kopieren

angeben, um den Inhalt der Tabelle „Sheet1“ in dataGridView2 anzuzeigen Sie müssen das Symbol „$“ nach dem Tabellennamen hinzufügen.

                cmd = new OleDbCommand("Select * From [Sheet1$]", conn);
                OleDbDataAdapter adp = new OleDbDataAdapter(cmd);
                DataSet ds = new DataSet();
                adp.Fill(ds);
                dataGridView2.DataSource = ds.Tables[0];
Nach dem Login kopieren

Durchlaufen Sie den Inhalt des Schemas.

                DataTable dt = conn.GetSchema();
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    textBox1.Text += dt.Columns[i].Caption;
                    if (i + 1 < dt.Columns.Count)
                    {
                        textBox1.Text += ",";
                    }
                }

                for (int j = 0; j < dt.Rows.Count; j++)
                {
                    for (int i = 0; i < dt.Columns.Count; i++)
                    {
                        if (dt.Rows[j][dt.Columns[i]] != null)
                        {
                            textBox1.Text += dt.Rows[j][dt.Columns[i]].ToString();
                        }
                        else
                        {
                            textBox1.Text += "null";
                        }

                        if (i + 1 < dt.Columns.Count)
                        {
                            textBox1.Text += ",";
                        }
                    }
                    textBox1.Text += ("\r\n");
                }
Nach dem Login kopieren

Schließen Sie die Excel-Datenverbindung.

                if (conn.State != ConnectionState.Closed)
                {
                    try
                    {
                        conn.Close();
                    }
                    catch (System.Exception ex)
                    {
                        textBox1.Text += ("关闭Excel数据连接:" + ex.Message);
                        textBox1.Text += ("\r\n");
                    }
                }
Nach dem Login kopieren

Öffnen Sie das Dateiverzeichnis

System.Diagnostics.Process.Start("explorer.exe", AppDomain.CurrentDomain.BaseDirectory);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung des Beispielcodes zum Erstellen von Excel-Dateien und zum Exportieren von Daten in Excel-Dateien in C# (Bild). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!