Я пишу программу с 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, я заменю их.