private void PathTxb_TextChanged(object sender, EventArgs e)//PathTxb讀入時,抓取EXCEL工作表清單,放入COMBOBOX中 { DataTable dtE = new DataTable(); OleDbConnection objConn = null; try { // 連接字符串,使用時請修改excel文件所在位置 string provider = "Microsoft.ACE.OLEDB.12.0"; string datasource = PathTxb.Text; string extended = "Excel 12.0"; //Excel版本,Excel 8.0 針對Excel2000及以上版本,Excel5.0 針對Excel97 string hdr = "No"; //第一行是否為標題 //當 IMEX=0 時為「匯出模式」,這個模式開啟的 Excel 檔案只能用來做「寫入」用途。Export mode //當 IMEX=1 時為「匯入模式」,這個模式開啟的 Excel 檔案只能用來做「讀取」用途。Import mode //當 IMEX=2 時為「連結模式」,這個模式開啟的 Excel 檔案可同時支援「讀取」與「寫入」用途。Linked mode string imex = "1"; //通知驅動程序始終將「互混」數據列作為文本讀取 string connString = "Provider=" + provider + ";Data Source=" + datasource + ";Extended Properties=\"" + extended + ";HDR=" + hdr + ";IMEX=" + imex + "\" "; // 創建連接對象 objConn = new OleDbConnection(connString); // 打開數據庫連接 objConn.Open(); // 得到包含數據架構的數據表 dtE = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); String[] excelSheets = new String[dtE.Rows.Count]; int i = 0; // 添加工作表名稱到字符串數組 PageCbx.Items.Clear(); foreach (DataRow row in dtE.Rows) { PageCbx.Items.Add(row["TABLE_NAME"].ToString().Split('$')[0]); i++; } //自動選擇"大組日程表" foreach (var item in PageCbx.Items) { if (item.ToString().Contains("大組"))//找到第一個內容包含"大組"就顯示,然後跳出去。 { PageCbx.SelectedItem = item.ToString(); break; } } //自動選擇"大組日程表" } catch (Exception ex) { } finally { // 清理 if (objConn != null) { objConn.Close(); objConn.Dispose(); } if (dtE != null) { dtE.Dispose(); } } }
- Jan 14 Tue 2014 14:35
[C#]連結EXCEL 工作表清單ComboBox的Items
- Nov 22 Fri 2013 16:31
[C#]GRIDVIEW執行刪除後跳出確認視窗?
如何在GRIDVIEW執行刪除動作後
跳出確認視窗?
- Nov 22 Fri 2013 14:31
[C#]MYSQL使用具名參數時 發生 Parameter '@ID' must be defined.
- Nov 20 Wed 2013 19:16
[C#]無法載入檔案或組件 'MySql.Data, Version=6.6.5.0
問題:
使用SqlDataSource處理資料連結,編譯後發生。