当前位置: 移动技术网 > IT编程>开发语言>c# > Winforn中导入Excel并显示然后获取多选框选中的内容

Winforn中导入Excel并显示然后获取多选框选中的内容

2019年08月28日  | 移动技术网IT编程  | 我要评论

场景

使用npoi导入excel并赋值给datatable,然后显示在datagrdview上,并且添加多选框,然后获取选中行的内容。

winform中使用npoi实现excel导入并赋值给datatable:

https://blog.csdn.net/badao_liumang_qizhi/article/details/100064821

效果

 

实现

在上面已经导入成功并且赋值给datatables上的基础上,在datagridview上添加多选框。

下面代码加在第二个按钮的点击事件里,生成数据源datatable的标题使添加一个多选列。

 

datagridviewcolumn checkcol = new datagridviewcheckboxcolumn();
this.datagridview1.columns.add(checkcol);

 

然后在第三个按钮的点击事件里

private void button4_click(object sender, eventargs e)
        {
            
            
            int strcount = 0;
            //首先进行第一次循环 获取选中的行数
            for (int i = 0; i <datagridview1.rows.count; i++)
            {
                //如果被选中
                if ((bool)datagridview1.rows[i].cells[0].editedformattedvalue == true)
                {
                    strcount++;
                }
            }
            //新建 选中长度的数组存放每一行
            string[] str = new string[strcount];
            for (int i = 0; i < datagridview1.rows.count; i++)
            {
                if ((bool)datagridview1.rows[i].cells[0].editedformattedvalue == true)
                {
                    //获取当前行的第一个单元格 + @ +第二个单元格的内容
                    str[i] = datagridview1.rows[i].cells[1].value.tostring() + "@" + datagridview1.rows[i].cells[2].value.tostring();
                }
            }
            //输出选中所有行的内容
            for (int i = 0; i < str.length; i++)
            {
                messagebox.show(string.format("获取的第{0}条为:",i+1) +str[i]);
            }
            
        }

 

示例代码下载

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网