首先是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开始这点需要注意