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

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

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

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

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

1.Excel

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

2.OpenXML

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

3.NPOI

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

4.OleDb

說明:使用Microsoft Jet 提供程序用于連接到 Excel 工作簿,將Excel文件作為數(shù)據(jù)源來讀寫
優(yōu)點(diǎn):簡單快速,能夠操作高版本Excel
缺點(diǎn):只能夠進(jìn)行有限的操作(讀、寫)

今天學(xué)習(xí)使用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:設(shè)置Excel的特殊屬性
Extended Properties 取值:
Excel 8.0 針對(duì)Excel2000及以上版本,Excel5.0 針對(duì)Excel97。
HDR=Yes 表示第一行包含列名,在計(jì)算行數(shù)時(shí)就不包含第一行
IMEX 0:導(dǎo)入模式,1:導(dǎo)出模式: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'";
 //實(shí)例化一個(gè)Oledbconnection類(實(shí)現(xiàn)了IDisposable,要using)
 using (OleDbConnection ole_conn = new OleDbConnection(sConnectionString))
 {
  ole_conn.Open();
  using (OleDbCommand ole_cmd = ole_conn.CreateCommand())
  {
  //類似SQL的查詢語句這個(gè)[Sheet1$對(duì)應(yīng)Excel文件中的一個(gè)工作表]
  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'";
 //實(shí)例化一個(gè)Oledbconnection類(實(shí)現(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;";
 //實(shí)例化一個(gè)Oledbconnection類(實(shí)現(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','點(diǎn)擊科技')";
  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;";
 //實(shí)例化一個(gè)Oledbconnection類(實(shí)現(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','點(diǎn)擊科技')";
  ole_cmd.ExecuteNonQuery();
  MessageBox.Show("生成Excel文件成功并寫入一條數(shù)據(jù)......");
  }
}

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

墨江| 加查县| 兖州市| 霍山县| 罗江县| 什邡市| 江陵县| 临澧县| 德化县| 万载县| 海阳市| 临武县| 四子王旗| 灌南县| 黄石市| 卢湾区| 中阳县| 太仆寺旗| 吉木萨尔县| 开阳县| 年辖:市辖区| 滦南县| 玉树县| 阳西县| 准格尔旗| 台南县| 云浮市| 黑山县| 灌阳县| 肃宁县| 邹平县| 霍城县| 中牟县| 错那县| 怀来县| 凌云县| 贡嘎县| 永年县| 宝应县| 龙州县| 墨脱县|