我制作了一个C#winforms项目,该项目允许用户在电子表格中选择一个单元格并写入一个整数值" total"进入选定的单元格。这发生在现有的电子表格中,因此此操作会更改单元格的值。改变一些具有特殊相似性的细胞的最佳方法是什么? 我的代码如下:
private void button5_Click(object sender, EventArgs e)
{
MySheet = (Excel.Worksheet)MyBook.Sheets[1]; // Explicit cast is not required here
bpRow = excelApp.ActiveCell.Row;
bpColumn = excelApp.ActiveCell.Column;
MySheet.Cells[bpRow, bpColumn] = total;
Excel.Range colRangeH = MySheet.Columns["R:R"];//get the range object where you want to search from
Excel.Range resultRangeH = colRangeH.Find(
What: MySheet.Cells[bpRow, 18],
LookIn: Excel.XlFindLookIn.xlValues,
LookAt: Excel.XlLookAt.xlPart,
SearchOrder: Excel.XlSearchOrder.xlByRows,
SearchDirection: Excel.XlSearchDirection.xlNext
);
textBox3.Text = " " + resultRangeH;
if (MySheet.Cells[resultRangeH, 16] == MySheet.Cells[bpRow, 16])
{
if (MySheet.Cells[resultRangeH, 22] == "T.PLATE")
MySheet.Cells[resultRangeH, bpColumn] = 3 * MySheet.Cells[bpRow, bpColumn];
else if (MySheet.Cells[resultRangeH, 22] == "STUD")
MySheet.Cells[resultRangeH, bpColumn] = (int)(Math.Ceiling(MySheet.Cells[bpRow, bpColumn] / 1.33));
}
MyBook.Save();
}
电子表格由大约90个条目组成,每行有21个数字和书面说明。我在我的代码中添加了一个find方法,为我提供一个条目的行号,其第18个数字等于对应于所选单元格的条目中的第18个数字。然后我写了几个if语句来检查另一个数字值和书面描述。这样我可以相应地更改与所选单元格对应的列中的值。