程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#應用oledb操作excel文件的辦法

C#應用oledb操作excel文件的辦法

編輯:C#入門知識

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#法式設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved