Ich versuche zu überprüfen, dass eine Zelle in einer Zeile nicht Null ist. Wenn es Null ist, möchte ich die Hintergrundfarbe der Zelle zu rot ändern. Nach der Lektüre, wie das zu tun, ich habe mit dem folgenden Code kommen:Kann die Hintergrundfarbe der Zelle nicht ändern, EPPlus in C#
public int verifyImportFile(FileUpload fup)
{
int status = 0;
//check if there is actually a file being uploaded
if (fup.HasFile)
{
//load the uploaded file into the memorystream
using (MemoryStream stream = new MemoryStream(fup.FileBytes))
//Lets the server know to use the excel package
using (ExcelPackage xlPackage = new ExcelPackage(stream))
{
//Gets the first worksheet in the workbook
ExcelWorksheet worksheet = xlPackage.Workbook.Worksheets[1];
//Gets the row count
var rowCnt = worksheet.Dimension.End.Row;
//Gets the column count
var colCnt = worksheet.Dimension.End.Column;
//Beginning the loop for data gathering
for (int i = 2; i < rowCnt; i++) //Starts on 2 because excel starts at 1, and line 1 is headers
{
//If there is no value in column 3, proceed
if (worksheet.Cells[i, 3].Value == null)
{
worksheet.Cells[i, 3].Style.Fill.PatternType = ExcelFillStyle.Solid;
worksheet.Cells[i,3].Style.Fill.BackgroundColor.SetColor(Color.Red);
status = 1;
}
}
xlPackage.Save();
}
}
return status;
}
Was ich von der Prüfung weiß, ist, dass, wenn ein null Wert gefunden wird, ist es die if-Anweisung, die für nulls prüft eintritt. Es scheint, den Code auszuführen, um die Hintergrundfarbe zu ändern. Nachdem es die gesamte Excel-Tabelle durchlaufen hat, ändert sich die Variable Status zu 1 und wird in einem Popup angezeigt. Von meinem Verständnis, wie dies zu tun ist, läuft es richtig, aber die Hintergrundfarbe bleibt weiß.
Funktioniert es, wenn Sie nur eine einfache Methode erstellen, die Zelle A1 rot färbt? – silkfire
@silkfire Nur die Änderung vorgenommen. Es führt den Code, aber immer noch nicht die Farbe – TGills
Versuchen Sie, Hilfe in ihren Support-Foren vielleicht suchen? – silkfire