Winform_dataGridView控件基本操作,以及通过EPPlus读取Excel的许可证问题解决

首先是dataGridView的添加:

1.可以一下子把行和列都先添加好,再慢慢的往里面存数据

dataGridView1.RowCount = worksheet.Dimension.Rows;  // 设置总行数
dataGridView1.ColumnCount = worksheet.Dimension.Columns;  // 设置总行数

 dataGridView1.Rows[0].Cells[0].Value="123"

2.dataGridView控件有一个特性必须先得有列才能添加行进去,所有我们可以提前把列添加好再慢慢按照自己要求添加行

 dataGridView1.Columns.Add(" ", " ");//列标题与列内容
 dataGridView1.Rows.Add(3);//添加3行行
最终得到3行1列表格

dataGridView1.Columns.Add(" ", " ");//列标题与列内容
dataGridView1.Columns.Add(" ", " ");//列标题与列内容
 dataGridView1.Rows.Add(3);//添加3行行
最终得到3行2列表格

查找指定单元格的内容

1.指定单元格行和列来查找

var str=dataGridView1.Rows[row].Cells[column].Value;

2.通过DataGridViewRow 来指定行,再根据行来查找单元格

 DataGridViewRow row = dataGridView1.Rows[0];//指定第0行
 var sr= row.Cells[0].Value;//查找第0行的第0个单元格

修改指定单元格的值和背景色

dataGridView1.Rows[row].Cells[column].Value="123";
dataGridView1.Rows[rowIndex].Cells[columnIndex].Style.BackColor = color;

删除

1.删除行和列

 dataGridView1.Rows.RemoveAt(0);//删除第0行
dataGridView1.Columns.RemoveAt(0);//删除第0列

2.删除指定单元格内容(DataGridViewCell 单个单元格集合)

   DataGridViewRow row = dataGridView1.Rows[0];//拿到第0行索引
   DataGridViewCell cell = row.Cells[2]; // 2表示第0列的索引
   cell.Value = null; // 清空单元格的值
   cell.Style.BackColor = dataGridView1.DefaultCellStyle.BackColor;//背景色设置为默认颜色

下面是对EXCEL的一些读写操作

注意:我使用的是"EPPlus"库

后边的版本需要什么许可证,按照操作来弄不然读取不了EXCEL

 这里是摆脱许可证的提示,看下面链接

EPPlus Software - LicenseException - EPPlus Software

复制这段代码到配置文件

这是效果

接下来就能正常使用了注意引用头文件

using (ExcelPackage excelPackage = new ExcelPackage(new FileInfo(Path)))
                {
                    // 获取第一个工作表
                    ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[0];                   
                    int RowCount = worksheet.Dimension.Rows;    //行
                    int ColCount = worksheet.Dimension.Columns;//列

                    dataGridView1.RowCount = worksheet.Dimension.Rows;  // 设置总行数
                    dataGridView1.ColumnCount = worksheet.Dimension.Columns;  // 设置总行数

                    // 将数据添加到DataGridView中
                    for (int row = 0; row <RowCount; row++)
                    {                       
                        for (int column = 0; column <ColCount; column++)
                        {
                            dataGridView1.Rows[row].Cells[column].Value=worksheet.Cells[row+1, column+1].Value;
                        }        
                    }
                }

这里补充一下为什么“dataGridView1.Rows[row].Cells[column].Value=worksheet.Cells[row+1, column+1].Value;里面的”row要+1?

因为EPPlus实际读取的时候没有0行0列的说法,都是从1行1列开始,而我们的dataGridView控件又是从0开始这点需要注意

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值