利用c#中的电子表格查找方法

时间:2017-12-27 20:24:01

标签: c# excel string winforms ms-office

我制作了一个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语句来检查另一个数字值和书面描述。这样我可以相应地更改与所选单元格对应的列中的值。

0 个答案:

没有答案