Använd generisk lista i Smart Markers Aspose.Cells

Introduktion

Att skapa dynamiska rapporter och datadrivna applikationer är en viktig färdighet i dagens tekniska landskap. Om du arbetar med .NET- och Excel-filer har du förmodligen hört talas om Aspose.Cells, ett kraftfullt bibliotek som är designat speciellt för att manipulera Excel-kalkylblad programmatiskt. Denna omfattande guide kommer att leda dig genom att använda generiska listor med smarta markörer i Aspose.Cells, vilket ger dig en steg-för-steg-strategi för att optimera din datahantering i dina applikationer.

Förutsättningar

Innan vi dyker in i koden, låt oss snabbt gå igenom vad du behöver:

Grundläggande kunskaper i C#

Du bör ha en grundläggande förståelse för C# och hur man arbetar med klasser och objekt. Om du är livlig med objektorienterad programmering är du redan på rätt väg.

Aspose.Cells för .NET installerat

Se till att du har Aspose.Cells installerat i ditt .NET-projekt. Du kan ladda ner biblioteket frånAspose hemsida.

Visual Studio-miljö

Att ha Visual Studio konfigurerat på din maskin är avgörande. Det är den vanligaste utvecklingsmiljön där du skriver din C#-kod.

En mallfil

För den här handledningen kommer vi att använda en enkel Excel-mall som du kan ställa in i förväg. Du behöver bara en tom arbetsbok för demonstrationen.

Importera paket

Nu när vi har det väsentliga på plats, låt oss börja med att importera de nödvändiga paketen. En bra tumregel är att inkludera följande namnområde:

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

Dessa namnutrymmen kommer att tillhandahålla de funktioner som krävs för att arbeta med Excel-filer och stilceller.

Steg 1: Definiera dina klasser

Först till kvarn! Vi måste definiera vårPerson ochTeacher klasser. Så här gör du:

Definiera personklassen

DePerson klass kommer att ha grundläggande attribut som namn och ålder.

public class Person
{
    int _age;
    string _name;
    
    public int Age
    {
        get { return _age; }
        set { _age = value; }
    }
    
    public string Name
    {
        get { return _name; }
        set { _name = value; }
    }
    
    public Person(string name, int age)
    {
        _age = age;
        _name = name;
    }
}

Definiera lärarklassen

Nästa ärTeacher klass, som ärver frånPerson klass. Denna klass kommer ytterligare att kapsla in en lista över elever.

public class Teacher : Person
{
    private IList<Person> m_students;
    public IList<Person> Students
    {
        get { return m_students; }
        set { m_students = value; }
    }
    
    public Teacher(string name, int age) : base(name, age)
    {
        m_students = new List<Person>();
    }
}

Steg 2: Initiera arbetsboken och skapa en designer

Nu när vi har våra klasser på plats är det dags att initiera vår arbetsbok:

string dataDir = "Your Document Directory"; // Ange din dokumentkatalog
Workbook workbook = new Workbook(); // Ny arbetsboksinstans
Worksheet worksheet = workbook.Worksheets[0];

Steg 3: Ställ in smarta markörer i arbetsbladet

Vi kommer att sätta upp smarta markörer i Excel-kalkylbladet, som anger var våra dynamiska värden kommer att placeras.

worksheet.Cells["A1"].PutValue("Teacher Name");
worksheet.Cells["A2"].PutValue("&=Teacher.Name");
worksheet.Cells["B1"].PutValue("Teacher Age");
worksheet.Cells["B2"].PutValue("&=Teacher.Age");
worksheet.Cells["C1"].PutValue("Student Name");
worksheet.Cells["C2"].PutValue("&=Teacher.Students.Name");
worksheet.Cells["D1"].PutValue("Student Age");
worksheet.Cells["D2"].PutValue("&=Teacher.Students.Age");

Steg 4: Använd styling för att förbättra presentationen

Varje bra rapport bör vara visuellt tilltalande! Låt oss tillämpa lite stil på våra rubriker:

Range range = worksheet.Cells.CreateRange("A1:D1");
Style style = workbook.CreateStyle();
style.Font.IsBold = true;
style.ForegroundColor = Color.Yellow;
style.Pattern = BackgroundType.Solid;
StyleFlag flag = new StyleFlag();
flag.All = true;
range.ApplyStyle(style, flag);

Steg 5: Skapa lärar- och elevinstanserna

Låt oss nu skapa instanser av vårTeacher ochPerson klasser och fylla dem med data:

System.Collections.Generic.List<Teacher> list = new System.Collections.Generic.List<Teacher>();
// Skapa det första lärarobjektet
Teacher h1 = new Teacher("Mark John", 30);
h1.Students = new List<Person>
{
    new Person("Chen Zhao", 14),
    new Person("Jamima Winfrey", 18),
    new Person("Reham Smith", 15)
};
//Skapa det andra lärarobjektet
Teacher h2 = new Teacher("Masood Shankar", 40);
h2.Students = new List<Person>
{
    new Person("Karishma Jathool", 16),
    new Person("Angela Rose", 13),
    new Person("Hina Khanna", 15)
};
// Lägg till i listan
list.Add(h1);
list.Add(h2);

Steg 6: Ställ in datakällan för designern

Nu måste vi länka våra data med arbetsbladet vi har förberett.

WorkbookDesigner designer = new WorkbookDesigner();
designer.Workbook = workbook;
designer.SetDataSource("Teacher", list);

Steg 7: Bearbeta markörerna

Nästa steg är att bearbeta alla smarta markörer som vi placerade tidigare:

designer.Process();

Steg 8: Anpassa kolumner automatiskt och spara arbetsboken

För att se till att allt ser professionellt ut, låt oss anpassa kolumnerna automatiskt och spara vår arbetsbok:

worksheet.AutoFitColumns();
designer.Workbook.Save(dataDir + "output.xlsx"); // Spara i angiven katalog

Slutsats

Och där har du det! Du har precis skapat ett Excel-kalkylblad dynamiskt och utnyttjar kraften hos generiska listor och smarta markörer med Aspose.Cells för .NET. Denna färdighet gör att du enkelt kan skapa komplexa rapporter och införliva datadrivna funktioner i dina applikationer. Oavsett om du genererar skolrapporter, affärsanalyser eller annat dynamiskt innehåll, hjälper teknikerna i den här guiden att effektivisera ditt arbetsflöde avsevärt.

FAQ’s

Vad är Aspose.Cells?

Aspose.Cells är ett .NET-bibliotek för att skapa och hantera Excel-filer utan att behöva installera Microsoft Excel.

Kan jag använda Aspose.Cells för andra filformat?

Ja! Aspose erbjuder bibliotek för PDF, Word och andra format, vilket gör det mångsidigt för dokumenthantering.

Behöver jag en licens för att använda Aspose.Cells?

Du kan börja med en gratis provperiod frånhär, men en betald licens krävs för produktionsanvändning.

Vad är smarta markörer?

Smarta markörer är platshållare i Excel-mallar som ersätts med faktiska data när de bearbetas av Aspose.Cells.

Är Aspose.Cells lämplig för stora datamängder?

Absolut! Aspose.Cells är optimerad för prestanda, vilket gör den kapabel att hantera stora datamängder effektivt.