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();
}
}
}
文章標籤
全站熱搜
