Bereken de door MS Excel gekozen kleur op een programmatische manier

Invoering

Heb je ooit met Excel-bestanden gewerkt en je afgevraagd hoe bepaalde kleuren automatisch worden geselecteerd voor opmaak? Je bent niet de enige. De voorwaardelijke opmaak van Excel kan een beetje een mysterie zijn, vooral als je probeert de exacte kleur te extraheren die Excel toewijst. Maar maak je geen zorgen, wij hebben je gedekt! In deze tutorial duiken we diep in hoe je programmatisch de kleur berekent die is gekozen door MS Excel met behulp van Aspose.Cells voor .NET. We zullen het stap voor stap uitleggen, zodat je het kunt volgen en het gemakkelijk kunt toepassen op je eigen projecten. Laten we beginnen!

Vereisten

Voordat we in de code duiken, bespreken we eerst wat je nodig hebt om deze tutorial te volgen:

  • Aspose.Cells voor .NET geïnstalleerd. Als u het nog niet hebt, kunt udownload het hier.
  • Kennis van C# en .NET Framework.
  • Een voorbeeld van een Excel-bestand (Book1.xlsx) met enige voorwaardelijke opmaak toegepast. kunt ook de gratis proefversie van Aspose.Cells voor .NET uitproberen als u nog geen licentie hebt. Pak de proefversiehier.

Pakketten importeren

Voordat we beginnen met coderen, moeten we de benodigde pakketten importeren om ervoor te zorgen dat alles soepel verloopt. Zorg ervoor dat u de volgende namespaces in uw project opneemt:

using System.IO;
using Aspose.Cells;
using System.Drawing;
using System;

Deze imports bieden toegang tot de belangrijkste Aspose.Cells-klassen en de systeemeigen tekenbibliotheek van .NET voor het verwerken van kleuren.

Nu we alles op zijn plek hebben, kunnen we de taak opsplitsen in behapbare stappen:

Stap 1: Het werkmapobject instellen

Het eerste wat we moeten doen is een instantie makenWorkbook object en laad het Excel-bestand waarmee we willen werken. Dit is waar de reis begint!

// Het pad naar de documentenmap.
string dataDir = "Your Document Directory";
// Een werkmapobject instantiëren en het sjabloonbestand openen
Workbook workbook = new Workbook(dataDir + "Book1.xlsx");

In deze stap maken we een nieuw exemplaar van deWorkbook klasse van Aspose.Cells. DeWorkbookclass vertegenwoordigt een Excel-bestand en door het pad naar ons bestand op te geven, kunnen we het eenvoudig laden voor verdere bewerking.

Stap 2: Toegang tot het eerste werkblad

Zodra de werkmap is geladen, moeten we toegang krijgen tot het specifieke werkblad waar we de kleur uit willen halen. In dit voorbeeld werken we met het eerste werkblad.

// Ontvang het eerste werkblad
Worksheet worksheet = workbook.Worksheets[0];

Hier halen we het eerste werkblad in de werkmap op met behulp van deWorksheets[0] index. Met Aspose.Cells kunt u elk werkblad in het Excel-bestand openen via de index of naam.

Stap 3: Selecteer de cel van interesse

Vervolgens kiezen we een specifieke cel in het werkblad. Voor deze tutorial richten we ons op cel “A1”, maar u kunt elke cel selecteren waarop voorwaardelijke opmaak is toegepast.

// Haal de A1-cel
Cell a1 = worksheet.Cells["A1"];

Wij gebruiken deCells eigenschap om naar een specifieke cel te verwijzen via het adres. In dit geval selecteren we cel “A1” omdat we de voorwaardelijke opmaakresultaten die op deze cel zijn toegepast, willen extraheren.

Stap 4: Haal het resultaat van de voorwaardelijke opmaak op

Nu gebeurt de magie! We gebruiken Aspose.Cells om het voorwaardelijke opmaakresultaat voor de geselecteerde cel te pakken. Dit is hoe Excel de opmaak dynamisch berekent, inclusief kleuren.

// Het resulterende object van de voorwaardelijke opmaak ophalen
ConditionalFormattingResult cfr1 = a1.GetConditionalFormattingResult();

DeGetConditionalFormattingResult() methode is cruciaal in deze stap. Het retourneert een object dat de resultaten bevat van elke voorwaardelijke opmaak die op de cel is toegepast. Dit is waar we beginnen met het aanboren van de kleurinformatie die Excel gebruikt.

Stap 5: Toegang tot het ColorScaleResult

Zodra we het resultaat van de voorwaardelijke opmaak hebben, kunnen we dieper graven en de kleurenschaal bekijken die Excel voor deze specifieke cel heeft gebruikt.

// Het resulterende kleurobject van ColorScale ophalen
Color c = cfr1.ColorScaleResult;

Voorwaardelijke opmaak in Excel is vaak afhankelijk van kleurenschalen. Met deze regel kunnen we de resulterende kleur extraheren die is toegepast op basis van de regels voor voorwaardelijke opmaak.

Stap 6: De kleurgegevens weergeven

Ten slotte willen we de kleur Excel toegepast zien. Laten we de kleurdetails afdrukken in een formaat dat gemakkelijk te begrijpen is, inclusief zowel de ARGB-waarde als de naam.

// Lees de kleur
Console.WriteLine(c.ToArgb().ToString());
Console.WriteLine(c.Name);

DeToArgb() methode geeft ons de kleur in ARGB-formaat (Alfa, Rood, Groen, Blauw), terwijl deName eigenschap geeft de kleurnaam in een beter leesbaar formaat. U kunt deze kleurdetails gebruiken om ze in andere toepassingen te matchen of uw Excel-bestanden programmatisch te wijzigen.

Conclusie

En daar heb je het! Door deze stappen te volgen, heb je zojuist geleerd hoe je programmatisch de kleur kunt berekenen die door MS Excel is gekozen met Aspose.Cells voor .NET. Deze aanpak kan ongelooflijk handig zijn voor het automatiseren van Excel-gebaseerde taken, vooral bij complexe voorwaardelijke opmaak. De volgende keer dat je een mysterieuze kleur tegenkomt in Excel, weet je precies hoe je de geheimen ervan kunt onthullen.

Veelgestelde vragen

Kan ik voorwaardelijke opmaak programmatisch toepassen met behulp van Aspose.Cells?

Ja, met Aspose.Cells kunt u voorwaardelijke opmaak in Excel-bestanden programmatisch toepassen, wijzigen en zelfs verwijderen.

Ondersteunt Aspose.Cells alle versies van Excel?

Absoluut! Aspose.Cells ondersteunt Excel 97-2003 (XLS), Excel 2007-2019/365 (XLSX) en meer formaten, waaronder PDF, HTML en CSV.

Is Aspose.Cells beschikbaar voor andere platforms dan .NET?

Ja, Aspose.Cells is beschikbaar voor verschillende platforms, waaronder Java, C++en Android via Java.

Hoe kan ik een gratis proefversie van Aspose.Cells krijgen?

U kunt een gratis proefversie van Aspose.Cells voor .NET downloaden vanhier.

Hoe verwerk ik grote Excel-bestanden met Aspose.Cells?

Aspose.Cells is geoptimaliseerd voor prestaties, zelfs bij het werken met grote bestanden. U kunt streaming API’s gebruiken om grote hoeveelheden data efficiënt te verwerken.