Есть ли хороший способ перебора диапазона ячеек? - PullRequest
0 голосов
/ 31 января 2019

Я пишу программу с closedxml для перебора всех ячеек в определенном диапазоне.

Мой код ниже не выводит желаемый результат.Я создал окно сообщения, которое покажет мне, в каких ячейках он находится. При переходе к листу 2 он покажет мне, что он находится в ячейке «A2», а затем перейдет к «B2».Он не говорит, что он начинается с первого ряда.

Я пытался найти проблему, но я как бы застрял в цикле и у него нет идей.Я использовал Google =), но я не нашел хороший пример, который достаточно близок для меня, чтобы понять идею, так как я начинающий.

Мне также интересно, правильный ли это подход или есть даже более простойспособ сделать это?

    public void findAndReplace()
    {

        int firstCol;
        int lastCol = 2;
        int firstRow;
        int lastRow = 2;

        string cellValue = null;
        string findValue = tbFindValue.Text;

        foreach (string file in lbExcelFiles.Items)
        {
            XLWorkbook wb = new XLWorkbook(file);//create workbook

            foreach (IXLWorksheet ws in wb.Worksheets)//loop all worksheets
            {

                for (firstCol = 1; firstCol <= lastCol; firstCol++)//loop columns here
                {
                    for (firstRow = 1; firstRow <= lastRow; firstRow++)//loop rows here
                    {
                        cellValue = ws.Cell(firstCol, firstRow).GetString();

                        if (cellValue == findValue)
                        {
                            string nm = ws.Name;
                            MessageBox.Show("Sheet:" + nm + cellValue + "  Column:" + firstCol + "  Row:" + firstRow);
                        }

                    }
                }
            }

        }
        MessageBox.Show("Finished");
    }

В долгосрочной перспективе я буду сравнивать данные в ячейке и, если они совпадают с моим findValue, я заменю их.

...