最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#使用oledb操作excel文件的方法

 更新時間:2015年05月04日 11:19:13   作者:songguo  
這篇文章主要介紹了C#使用oledb操作excel文件的方法,涉及C#中oledb操作excel的相關技巧,非常具有實用價值,需要的朋友可以參考下

本文實例講述了C#使用oledb操作excel文件的方法。分享給大家供大家參考。具體分析如下:

不管什么編程語言都會提供操作Excel文件的方式,C#操作Excel主要有以下幾種方式:

1.Excel

說明:利用Office 的Excel組件來操作excel文件
優(yōu)點:能夠完全操作Excel文件,生成豐富文件內容
缺點:需要電腦安裝Excel,會啟動Excel進程這在web上很不方便

2.OpenXML

說明:一個操作字處理文檔的組件包括Excel
優(yōu)點:能夠操作操作Excel2007版本文件
缺點:只能夠操作Excel2007文件

3.NPOI

說明:一個開源的Excel讀寫庫
優(yōu)點:不需要安裝Excel
缺點:只能夠操作Excel2003文檔,對文檔內容控制不完全

4.OleDb

說明:使用Microsoft Jet 提供程序用于連接到 Excel 工作簿,將Excel文件作為數(shù)據(jù)源來讀寫
優(yōu)點:簡單快速,能夠操作高版本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 表示第一行包含列名,在計算行數(shù)時就不包含第一行
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類(實現(xiàn)了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類(實現(xiàn)了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.寫入數(shù)據(jù)到Excel表

if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
 String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
 "Data Source="+openFileDialog1.FileName+";"+
 "Extended Properties=Excel 8.0;";
 //實例化一個Oledbconnection類(實現(xiàn)了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("數(shù)據(jù)插入成功......");
  }
 }
}

4.創(chuàng)建Excel文件并寫入數(shù)據(jù)

String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
  "Data Source=d:\\excel1.xls;" +
  "Extended Properties=Excel 8.0;";
 //實例化一個Oledbconnection類(實現(xiàn)了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文件成功并寫入一條數(shù)據(jù)......");
  }
}

希望本文所述對大家的C#程序設計有所幫助。

相關文章

最新評論

罗田县| 东安县| 靖州| 山阴县| 水富县| 东丰县| 武宣县| 台北县| 习水县| 南召县| 开封县| 建水县| 辽源市| 佛山市| 乌拉特后旗| 新化县| 蕉岭县| 察雅县| 泉州市| 翁源县| 平利县| 若羌县| 呼图壁县| 汝城县| 彩票| 涞源县| 上林县| 台北市| 江阴市| 福州市| 呼伦贝尔市| 恩平市| 招远市| 水城县| 德化县| 宝清县| 封开县| 克山县| 彩票| 册亨县| 车险|