HDR(HeaDer Row)
值為 Yes,代表 Excel 檔中的工作表第一列是欄位名稱.
值為 No,代表 Excel 檔中的工作表第一列就是資料.(沒有欄位名稱)
IMEX ( IMport EXport mode )
當 IMEX=0 時為匯出模式,這個模式開啟的 Excel 檔案只能寫入.
當 IMEX=1 時為匯入模式,這個模式開啟的 Excel 檔案只能讀取.
當 IMEX=2 時為連結模式,這個模式開啟的 Excel 檔案可讀取或寫入.
從Excel建立兩個工作表
using System.Data.OleDb;
DataTable tableSql = new DataTable();
1. 載入指定工作表到DataTable
private void MySql()
{
string strSQL; //SQL字串
String cnnS = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\MyData.xlsx;" + "Extended Properties=\"EXCEL 12.0;HDR=YES\""; //資料庫連接字串
OleDbConnection cnn = new OleDbConnection(cnnS);
strSQL = " Select * From [TABLE1$] "; //選擇所有資料列從工作表TABLE1
using (OleDbDataAdapter dr = new OleDbDataAdapter(strSQL, cnn))
{
dr.Fill(tableSql); //將所有資料填充至tableSql
this.dataGridView1.DataSource = tableSql;
}
cnn.Close();
}
2. 新增一筆資料到Database
private void MySql()
{
string strSQL; //SQL字串
String cnnS = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\MyData.xlsx;" + "Extended Properties=\"EXCEL 12.0;HDR=YES\""; //資料庫連接字串
OleDbConnection cnn = new OleDbConnection(cnnS);
strSQL = " INSERT INTO [TABLE1$] VALUES('X011', 'KKK')"; //選擇所有資料列從工作表TABLE1
cnn.Open();
OleDb.OleDbCommand oleCmd = new System.Data.OleDb.OleDbCommand(strSQL, cnn);
oleCmd.ExecuteNonQuery()
strSQL = " Select * From [TABLE1$]";
using (OleDbDataAdapter dr = new OleDbDataAdapter(strSQL, cnn))
{
dr.Fill(tableSql); //將所有資料填充至tableSql
this.dataGridView1.DataSource = tableSql;
}
cnn.Close();
}
3. 更新Database的一筆資料
private void MySql()
{
string strSQL; //SQL字串
String cnnS = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\MyData.xlsx;" + "Extended Properties=\"EXCEL 12.0;HDR=YES\""; //資料庫連接字串
OleDbConnection cnn = new OleDbConnection(cnnS);
strSQL = "UPDATE [TABLE1$] SET Name='newKKK' WHERE ID = 'X011'"; //選擇所有資料列從工作表TABLE1
cnn.Open();
OleDb.OleDbCommand oleCmd = new System.Data.OleDb.OleDbCommand(strSQL, cnn);
oleCmd.ExecuteNonQuery()
strSQL = " Select * From [TABLE1$]";
using (OleDbDataAdapter dr = new OleDbDataAdapter(strSQL, cnn))
{
dr.Fill(tableSql); //將所有資料填充至tableSql
this.dataGridView1.DataSource = tableSql;
}
cnn.Close();
}
4. 將TABLE2更新至TABLE1
private void MySql().
{
string strSQL; //SQL字串
String cnnS = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\MyData.xlsx;" + "Extended Properties=\"EXCEL 12.0;HDR=YES\""; //資料庫連接字串
OleDbConnection cnn = new OleDbConnection(cnnS);
strSQL = "UPDATE [TABLE1$] SET Name='newKKK' WHERE ID = 'X011'"; //選擇所有資料列從工作表TABLE1
cnn.Open();
OleDb.OleDbCommand oleCmd = new System.Data.OleDb.OleDbCommand(strSQL, cnn);
oleCmd.ExecuteNonQuery()
strSQL = " Select * From [TABLE1$]";
using (OleDbDataAdapter dr = new OleDbDataAdapter(strSQL, cnn))
{
dr.Fill(tableSql); //將所有資料填充至tableSql
this.dataGridView1.DataSource = tableSql;
}
cnn.Close();
}
留言列表