4 Stimmen

Excel: Zellenfarbe erhalten

1) Wie kann ich die Farbe einer Zelle mit einem Excel-Makro ermitteln? Ich konnte diese Funktion nicht zum Laufen bringen:

Sub BGCol(MRow As Integer, MCol As Integer)  
bgColor = Cells(MRow, MCol).Interior.ColorIndex  
End Sub

2) In der Zelle x,y möchte ich die folgende Formel haben:

=BGCol(x,4)

Wie erhalte ich also den aktuellen Zeilenindex?

9voto

Brandon Punkte 81
Function GetColor(Mycell As Range)

    GetColor = Mycell.Interior.ColorIndex

End Function

:::Formel verwenden:: =getcolor(x4)

6voto

Ekkehard.Horner Punkte 37887

Sie sollten eine Funktion verwenden:

Function BGCol(MRow As Integer, MCol As Integer)  As Integer
   BGCol = Cells(MRow, MCol).Interior.ColorIndex  
End Function

0voto

shakeel Punkte 1689

Wenn Sie keine Makros oder VBA verwenden möchten, können Sie alternativ die Farbe der Zelle 使って Aspose.Cells API.

Farbe der Zelle o Farbe der Zellenfüllung wird dargestellt durch

  • Zelle>Stil>VordergrundFarbe

Farbe der Zellenschrift wird dargestellt durch

  • Zelle>Stil>Schrift>Farbe

Im Code verwendete Excel-Musterdatei

Bitte beachten Sie die folgende Excel-Beispieldatei, die im Snapshot gezeigt wird. Hier ist die Zelle C4 ist gefüllt mit Gelb Farbe und seine Schriftfarbe ist Rot .

enter image description here


Der folgende Code in C# y Java lädt die oben gezeigte Excel-Beispieldatei und greift auf die Zelle C4 und ihr Style-Objekt zu. Dann wird die Füllfarbe der Zelle gedruckt, d.h. Gelb und Schriftfarbe der Zelle, d.h. Rot .

Bitte beachten Sie auch die Konsolenausgabe unten und lesen Sie die Kommentare innerhalb des Codes zum besseren Verständnis.

C#

// Directory path for input Excel file.
string dirPath = "D:/Download/";

// Load the input Excel file inside workbook object.
Aspose.Cells.Workbook wb = new Workbook(dirPath + "SampleExcelColor.xlsx");

// Access first worksheet.
Worksheet ws = wb.Worksheets[0];

// Access cell C4 by name.
Cell cell = ws.Cells["C4"];

// Access cell style.
Style st = cell.GetStyle();

// Print fill color of the cell i.e. Yellow.
// Please note, Yellow is (R=255, G=255, B=0)
Console.WriteLine(st.ForegroundColor);

// Print font color of the cell i.e. Red.
// Please note, Red is (R=255, G=0, B=0)
Console.WriteLine(st.Font.Color);

Konsolenausgabe - C#

Color [A=255, R=255, G=255, B=0]
Color [A=255, R=255, G=0, B=0]

Java

// Directory path for input Excel file.
String dirPath = "D:/Download/";

// Load the input Excel file inside workbook object.
com.aspose.cells.Workbook wb = new Workbook(dirPath + "SampleExcelColor.xlsx");

// Access first worksheet.
Worksheet ws = wb.getWorksheets().get(0);

// Access cell C4 by name.
Cell cell = ws.getCells().get("C4");

// Access cell style.
Style st = cell.getStyle();

// Print fill color of the cell i.e. Yellow.
// Please note, Yellow is (R=255, G=255, B=0)
System.out.println(st.getForegroundColor());

// Print font color of the cell i.e. Red.
// Please note, Red is (R=255, G=0, B=0)
System.out.println(st.getFont().getColor());

Konsolenausgabe - Java

com.aspose.cells.Color@ffffff00
com.aspose.cells.Color@ffff0000

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X