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();
        }

arrow
arrow
    全站熱搜

    門外漢 發表在 痞客邦 留言(0) 人氣()