我从excel总动态读取 xls文件中的所有 sheet,用的是 Ole读取, 命名我循环的时候有很多个sheet,但是foreach却只是进行一次.而且无法显示,是什么情况?
我的代码为:
foreach (string sheet in sheets) {
pageKey = sheet.Substring(0, sheet.Length - 1);
tab_ctrl.TabPages.Add(pageKey);
DataGridView d = new DataGridView();
d.Dock = DockStyle.Fill;
sql = "select * from [" + sheet + "]";
t = oledb.GetDataTable(sql, oledb.GetConnection());
d.DataSource = t;
tab_ctrl.TabPages[pageKey].Controls.Add(d);
}
而且我调试的时候, t的行数是大于0的.
无法动态添加.
------解决思路----------------------
在这里报错了 所以循环停止
tab_ctrl.TabPages[pageKey].Controls.Add(d);
修改
tab_ctrl.TabPages.Add(pageKey);
改为
TabPage tpage = new TabPage(sheet);
tpage.Name = sheet;
tab_ctrl.TabPages.Add(tpage);