Använd villkorlig formatering i kalkylblad
Den här artikeln är utformad för att ge en detaljerad förståelse för hur man lägger till villkorlig formatering till ett antal celler i ett kalkylblad.
Villkorlig formatering är en avancerad funktion i Microsoft Excel som låter dig tillämpa format på en rad celler och få den formateringen att ändras beroende på cellens värde eller värdet på en formel. Till exempel kan bakgrunden i en cell vara röd för att markera ett negativt värde, eller så kan textfärgen vara grön för ett positivt värde. När cellens värde uppfyller formatvillkoret tillämpas formatet. Om cellens värde inte uppfyller formatvillkoret används cellens standardformatering.
Det är möjligt att tillämpa villkorlig formatering med Microsoft Office Automation men det har sina nackdelar. Det finns flera orsaker och frågor inblandade: till exempel säkerhet, stabilitet, skalbarhet och hastighet. Den främsta anledningen till att hitta en annan lösning är att Microsoft själva starkt rekommenderar Office Automation för mjukvarulösningar.
Den här artikeln visar hur du skapar en konsolapplikation, lägger till villkorlig formatering på celler med några enklaste rader kod med hjälp av Aspose.Cells API.
Använda Aspose.Cells för att tillämpa villkorlig formatering baserat på Cell-värde
- Ladda ner och installera Aspose.Cells.
- Ladda ner Aspose.Cells for .NET.
- Installera det på din utvecklingsdator. Alla Aspose-komponenter, när de är installerade, fungerar i utvärderingsläge. Utvärderingsläget har ingen tidsbegränsning och det injicerar bara vattenstämplar i producerade dokument.
- Skapa ett projekt. Starta Visual Studio.NET och skapa en ny konsolapplikation. Det här exemplet skapar en C# konsolapplikation, men du kan också använda VB.NET.
- Lägg till referenser. Lägg till en referens till Aspose.Cells till ditt projekt, till exempel lägg till en referens till ….\Program Files\Aspose\Aspose.Cells\Bin\Net1.0\Aspose.Cells.dll
- *Använd villkorlig formatering baserat på cellvärde. Nedan finns koden som används för att utföra uppgiften. Jag tillämpar villkorlig formatering på en cell.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Adds an empty conditional formatting | |
int index = sheet.ConditionalFormattings.Add(); | |
FormatConditionCollection fcs = sheet.ConditionalFormattings[index]; | |
// Sets the conditional format range. | |
CellArea ca = new CellArea(); | |
ca.StartRow = 0; | |
ca.EndRow = 0; | |
ca.StartColumn = 0; | |
ca.EndColumn = 0; | |
fcs.AddArea(ca); | |
// Adds condition. | |
int conditionIndex = fcs.AddCondition(FormatConditionType.CellValue, OperatorType.Between, "50", "100"); | |
// Sets the background color. | |
FormatCondition fc = fcs[conditionIndex]; | |
fc.Style.BackgroundColor = Color.Red; | |
// Saving the Excel file | |
workbook.Save(dataDir+ "output.out.xls", SaveFormat.Auto); |
När ovanstående kod exekveras, tillämpas villkorlig formatering på cell “A1” i det första kalkylbladet i utdatafilen (output.xls). Den villkorliga formateringen som tillämpas på A1 beror på cellvärdet. Om cellvärdet för A1 är mellan 50 och 100 är bakgrundsfärgen röd på grund av den villkorliga formateringen som tillämpats.
Använda Aspose.Cells för att tillämpa villkorlig formatering baserad på formel
- Tillämpa villkorlig formatering beroende på formel (kodavsnitt) Nedan finns koden för att utföra uppgiften. Den tillämpar villkorlig formatering på B3.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create directory if it is not already present. | |
bool IsExists = System.IO.Directory.Exists(dataDir); | |
if (!IsExists) | |
System.IO.Directory.CreateDirectory(dataDir); | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(); | |
Worksheet sheet = workbook.Worksheets[0]; | |
// Adds an empty conditional formatting | |
int index = sheet.ConditionalFormattings.Add(); | |
FormatConditionCollection fcs = sheet.ConditionalFormattings[index]; | |
// Sets the conditional format range. | |
CellArea ca = new CellArea(); | |
ca = new CellArea(); | |
ca.StartRow = 2; | |
ca.EndRow = 2; | |
ca.StartColumn = 1; | |
ca.EndColumn = 1; | |
fcs.AddArea(ca); | |
// Adds condition. | |
int conditionIndex = fcs.AddCondition(FormatConditionType.Expression); | |
// Sets the background color. | |
FormatCondition fc = fcs[conditionIndex]; | |
fc.Formula1 = "=IF(SUM(B1:B2)>100,TRUE,FALSE)"; | |
fc.Style.BackgroundColor = Color.Red; | |
sheet.Cells["B3"].Formula = "=SUM(B1:B2)"; | |
sheet.Cells["C4"].PutValue("If Sum of B1:B2 is greater than 100, B3 will have RED background"); | |
// Saving the Excel file | |
workbook.Save(dataDir+ "output.out.xls", SaveFormat.Auto); |
När ovanstående kod exekveras, tillämpas villkorlig formatering på cell “B3” i det första kalkylbladet i utdatafilen (output.xls). Den villkorliga formateringen som tillämpas beror på formeln som beräknar värdet på “B3” som summan av B1 & B2.