亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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)文章

  • C#讀寫文本文件(.txt)的方法實(shí)例

    C#讀寫文本文件(.txt)的方法實(shí)例

    讀寫文本文件其實(shí)是件很簡單的事情,這篇文章主要給大家介紹了關(guān)于C#讀寫文本文件(.txt)的相關(guān)資料,需要的朋友可以參考下
    2021-05-05
  • c# 命名空間和程序集

    c# 命名空間和程序集

    命名空間:用于對(duì)相關(guān)的類型進(jìn)行邏輯分組,使用命名空間方便定位一個(gè)類型
    2012-10-10
  • 基于Unity實(shí)現(xiàn)2D邊緣檢測

    基于Unity實(shí)現(xiàn)2D邊緣檢測

    這篇文章主要介紹了如何利用Unity實(shí)現(xiàn)2D邊緣檢測,從而達(dá)到人物描邊效果。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-04-04
  • Unity3D撤回命令開發(fā)詳解

    Unity3D撤回命令開發(fā)詳解

    這篇文章主要為大家詳細(xì)介紹了Unity3D撤回命令開發(fā),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • C#實(shí)現(xiàn)向數(shù)組指定索引位置插入新的元素值

    C#實(shí)現(xiàn)向數(shù)組指定索引位置插入新的元素值

    這篇文章給大家介紹了利用C#實(shí)現(xiàn)向數(shù)組指定索引位置插入新的元素值,首先需要定義一個(gè)一維數(shù)組,然后修改數(shù)組的長度,從而在其中增加一個(gè)元素,需要的朋友可以參考下
    2024-02-02
  • C#設(shè)計(jì)模式之Observer觀察者模式解決牛頓童鞋成績問題示例

    C#設(shè)計(jì)模式之Observer觀察者模式解決牛頓童鞋成績問題示例

    這篇文章主要介紹了C#設(shè)計(jì)模式之Observer觀察者模式解決牛頓童鞋成績問題,簡單講述了觀察者模式的原理并結(jié)合具體實(shí)例形式分析了使用觀察者模式解決牛頓童鞋成績問題的具體步驟相關(guān)操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下
    2017-09-09
  • C#設(shè)計(jì)模式之建造者模式

    C#設(shè)計(jì)模式之建造者模式

    這篇文章介紹了C#設(shè)計(jì)模式之建造者模式,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • winform 實(shí)現(xiàn)選擇文件和選擇文件夾對(duì)話框的簡單實(shí)例

    winform 實(shí)現(xiàn)選擇文件和選擇文件夾對(duì)話框的簡單實(shí)例

    下面小編就為大家?guī)硪黄獁inform 實(shí)現(xiàn)選擇文件和選擇文件夾對(duì)話框的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01
  • Unity解析gif動(dòng)態(tài)圖操作

    Unity解析gif動(dòng)態(tài)圖操作

    這篇文章主要介紹了Unity解析gif動(dòng)態(tài)圖操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • 詳解C# winform ListView的基本操作

    詳解C# winform ListView的基本操作

    本文主要介紹了C# winform ListView的基本操作,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評(píng)論