C#應用oledb操作excel文件的辦法。本站提示廣大學習愛好者:(C#應用oledb操作excel文件的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C#應用oledb操作excel文件的辦法正文
本文實例講述了C#應用oledb操作excel文件的辦法。分享給年夜家供年夜家參考。詳細剖析以下:
不論甚麼編程說話都邑供給操作Excel文件的方法,C#操作Excel重要有以下幾種方法:
1.Excel
解釋:應用Office 的Excel組件來操作excel文件
長處:可以或許完整操作Excel文件,生成豐碩文件內容
缺陷:須要電腦裝置Excel,會啟動Excel過程這在web上很不便利
2.OpenXML
解釋:一個操作字處置文檔的組件包含Excel
長處:可以或許操作操作Excel2007版本文件
缺陷:只可以或許操作Excel2007文件
3.NPOI
解釋:一個開源的Excel讀寫庫
長處:不須要裝置Excel
缺陷:只可以或許操作Excel2003文檔,對文檔內容掌握不完整
4.OleDb
解釋:應用Microsoft Jet 供給法式用於銜接到 Excel 任務簿,將Excel文件作為數據源來讀寫
長處:簡略疾速,可以或許操作高版本Excel
缺陷:只可以或許停止無限的操作(讀、寫)
明天進修應用OleDb操作Excel文件
銜接字符串:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\test.xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'
provider:表現供給法式稱號
Data Source:這裡填寫Excel文件的途徑
Extended Properties:設置Excel的特別屬性
Extended Properties 取值:
Excel 8.0 針對Excel2000及以上版本,Excel5.0 針對Excel97。
HDR=Yes 表現第一行包括列名,在盤算行數時就不包括第一行
IMEX 0:導入形式,1:導出形式:2混雜形式
1.讀取excel文件
if (openFileDialog1.ShowDialog() == DialogResult.OK) { String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source="+openFileDialog1.FileName+";"+ "Extended Properties='Excel 8.0;HDR=Yes;IMEX=2'"; //實例化一個Oledbconnection類(完成了IDisposable,要using) using (OleDbConnection ole_conn = new OleDbConnection(sConnectionString)) { ole_conn.Open(); using (OleDbCommand ole_cmd = ole_conn.CreateCommand()) { //相似SQL的查詢語句這個[Sheet1$對應Excel文件中的一個任務表] ole_cmd.CommandText = "select * from [Sheet1$]"; OleDbDataAdapter adapter = new OleDbDataAdapter(ole_cmd); DataSet ds = new DataSet(); adapter.Fill(ds, "Sheet1"); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { MessageBox.Show(ds.Tables[0].Rows[i]["商家稱號"].ToString()); } } } }
2.獲得任務簿中一切的任務表
if (openFileDialog1.ShowDialog() == DialogResult.OK) { String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source="+openFileDialog1.FileName+";"+ "Extended Properties='Excel 8.0;HDR=Yes;IMEX=2'"; //實例化一個Oledbconnection類(完成了IDisposable,要using) using (OleDbConnection ole_conn = new OleDbConnection(sConnectionString)) { ole_conn.Open(); using (OleDbCommand ole_cmd = ole_conn.CreateCommand()) { DataTable tb = ole_conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); foreach (DataRow row in tb.Rows) { MessageBox.Show(row["TABLE_NAME"].ToString()); } } } }
3.寫入數據到Excel表
if (openFileDialog1.ShowDialog() == DialogResult.OK) { String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source="+openFileDialog1.FileName+";"+ "Extended Properties=Excel 8.0;"; //實例化一個Oledbconnection類(完成了IDisposable,要using) using (OleDbConnection ole_conn = new OleDbConnection(sConnectionString)) { ole_conn.Open(); using (OleDbCommand ole_cmd = ole_conn.CreateCommand()) { ole_cmd.CommandText = "insert into [Sheet1$](商戶ID,商家稱號)values('DJ001','點擊科技')"; ole_cmd.ExecuteNonQuery(); MessageBox.Show("數據拔出勝利......"); } } }
4.創立Excel文件並寫入數據
String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=d:\\excel1.xls;" + "Extended Properties=Excel 8.0;"; //實例化一個Oledbconnection類(完成了IDisposable,要using) using (OleDbConnection ole_conn = new OleDbConnection(sConnectionString)) { ole_conn.Open(); using (OleDbCommand ole_cmd = ole_conn.CreateCommand()) { ole_cmd.CommandText = "CREATE TABLE CustomerInfo ([CustomerID] VarChar,[Customer] VarChar)"; ole_cmd.ExecuteNonQuery(); ole_cmd.CommandText = "insert into CustomerInfo(CustomerID,Customer)values('DJ001','點擊科技')"; ole_cmd.ExecuteNonQuery(); MessageBox.Show("生成Excel文件勝利並寫入一條數據......"); } }
願望本文所述對年夜家的C#法式設計有所贊助。