代码之家  ›  专栏  ›  技术社区  ›  Cătălin George Feștilă

在C中显示包含多个工作表的DataGridView时出错#

c#
  •  0
  • Cătălin George Feștilă  · 技术社区  · 6 年前

    我创建了一个窗口窗体项目,并用来显示xls文件。

    为了进行测试,我使用了一个带有两张纸的xls文件:

    第1张,上面写着:

    A1       
        ABC  
            test
    

    带这个的测试表2

    one two C1
            C2
            C3
    

    我的源代码的输出错误:结果放在我的两个选项卡页(每个选项卡页都有DataGridView)中,只有第一个工作表(Sheet1:A1、ABC、test)和TestSheet2被省略。

    我认为是foreach循环问题,但我不知道如何解决它。

    源代码是:

                    result = reader.AsDataSet();
                    foreach (DataTable dt in result.Tables) {
                        mytabControl.TabPages.Add(dt.ToString());
                        DataGridView data_grid = new DataGridView();
                        data_grid.Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
                        data_grid.Dock = DockStyle.Fill;
                        foreach (TabPage tabpage in mytabControl.TabPages)
                        {
                            tabpage.Controls.Add(data_grid);
                            data_grid.DataSource = result.Tables[mytabControl.SelectedIndex];
                        }
                    }
                    reader.Close();
    
    0 回复  |  直到 6 年前