Как сравнить значения столбцов с помощью закрытого xml? - PullRequest
0 голосов

У меня есть таблица в Excel

 col1 col2
 2      4
 1      5   
 5      3
 8      7

Мне нужно сравнить 2 столбца, col1 и col2. Если значения из столбца col2> col1, то заполните ячейку в столбце col2 красным цветом. Если значения из столбца col2

я написал пример метода, но не знаю, как его исправить дальше.

private static void BackroundColor(string filePathNameExcel) 
{
    int i = 1;
    using (XLWorkbook wb = new XLWorkbook(filePathNameExcel))
    {
        IXLWorksheet ws = wb.Worksheet("sheetMy");
        int col = 1;
        for (int j = 1; j <= col; j++)
        {
            if (j == 3)
            {
                for (int irow = 1; irow <= i; irow++)
                {
                    if (ws.Cell(irow, 3).GetString() == "2")  
                    {
                        string dat = ws.Cell(irow, 3).GetString();
                        ws.Cell(irow, 1).Style.Fill.BackgroundColor = XLColor.Red;
                    }
                }
            }
        }
        wb.SaveAs(filePathNameExcel, true);
    }
}

1 Ответ

0 голосов
/ 26 мая 2020

Я не могу полностью понять ваши коды logi c, не видя больше вашего формата данных, поэтому я сделал несколько предположений и упростил его для этого примера.

Начальные данные

enter image description here

Код

private static void BackroundColor(string filePathNameExcel)
{
    using (XLWorkbook wb = new XLWorkbook(filePathNameExcel))
    {
        IXLWorksheet ws = wb.Worksheet("sheetMy");
        int lastRow =  ws.LastRowUsed().RowNumber();

        // Loop each row
        for (int irow = 1; irow <= lastRow; irow++)
        {
            // Check if column 1 row value is less then column 2 row value
            if ((double)ws.Cell(irow, 1).Value <  (double)ws.Cell(irow,2).Value)
            {
                ws.Cell(irow, 2).Style.Fill.BackgroundColor = XLColor.Red;
            }
        }

        wb.SaveAs(filePathNameExcel, true);
    }
}

Результат

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...