如何使用 closed xml 比较列值?
How to compare column values using closed xml?
我在 Excel
中有一个 table
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);
}
}
如果没有看到更多你的数据格式,我无法完全理解你的代码逻辑,所以我做了一些假设并针对这个例子进行了简化。
起始数据
代码
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);
}
}
结果
我在 Excel
中有一个 table 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);
}
}
如果没有看到更多你的数据格式,我无法完全理解你的代码逻辑,所以我做了一些假设并针对这个例子进行了简化。
起始数据
代码
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);
}
}
结果