Használja az ICellsDataTableDataSource for Workbook Designer alkalmazást

Bevezetés

A fejlett táblázatok automatizált adatintegrációval történő készítése nagy változást hozhat, különösen az üzleti alkalmazásokban. Ebben az oktatóanyagban a használat módját mutatjuk beICellsDataTableDataSourcemunkafüzet-tervezőnek az Aspose.Cells for .NET-ben. Végigvezetjük egy egyszerű, ember által olvasható megoldás létrehozásán, amellyel dinamikusan tölthet be egyéni adatokat egy Excel-fájlba. Tehát, ha vásárlói listákkal, értékesítési adatokkal vagy bármi hasonlóval dolgozik, ez az útmutató az Ön számára készült!

Előfeltételek

A kezdéshez győződjön meg arról, hogy rendelkezik a következőkkel:

  • Aspose.Cells for .NET Library – Letöltheti innenitt vagy szerezzen be egy ingyenes próbaverziót.
  • .NET fejlesztői környezet – A Visual Studio nagyszerű választás.
  • A C# alapvető ismerete – Az osztályok és az adatkezelés ismerete segít a követésben. Mielőtt folytatnánk, győződjön meg arról, hogy fejlesztői környezete be van állítva a szükséges csomagokkal.

Csomagok importálása

Az Aspose.Cells hatékony használatához fontos csomagokat kell importálnia. Az alábbiakban egy gyors hivatkozás található a szükséges névterekhez:

using Aspose.Cells.Rendering;
using Aspose.Cells.WebExtensions;
using System;
using System.Collections;

1. lépés: Határozzon meg egy ügyféladatosztályt

Kezdésként hozzon létre egy egyszerűCustomer osztály. Ez az osztály olyan alapvető ügyféladatokat tartalmaz, mint plFullName ésAddressTekints rá úgy, mint az adatok “alakjának” meghatározására.

public class Customer
{
    public Customer(string aFullName, string anAddress)
    {
        FullName = aFullName;
        Address = anAddress;
    }
    public string FullName { get; set; }
    public string Address { get; set; }
}

2. lépés: Állítsa be az Ügyféllista osztályt

Ezután határozza meg aCustomerList osztály, amely kiterjedArrayList . Ez a testreszabott lista tartalmazza a példányokatCustomer és indexelt hozzáférést tesz lehetővé minden bejegyzéshez.

public class CustomerList : ArrayList
{
    public new Customer this[int index]
    {
        get { return (Customer)base[index]; }
        set { base[index] = value; }
    }
}

Ebben a lépésben adatainkat olyan formátumba csomagoljuk, amelyet az Aspose.Cells képes felismerni és feldolgozni.

3. lépés: Hozza létre az Ügyfél adatforrás osztályát

Itt válnak érdekessé a dolgok. Létrehozunk aCustomerDataSource osztály megvalósításaICellsDataTable hogy adataink kompatibilisek legyenek az Aspose.Cells munkafüzet-tervezőjével.

public class CustomerDataSource : ICellsDataTable
{
    internal string[] m_Columns;
    internal ICollection m_DataSource;
    private Hashtable m_PropHash;
    private IEnumerator m_IEnumerator;
    private PropertyInfo[] m_Properties;
    public CustomerDataSource(CustomerList customers)
    {
        this.m_DataSource = customers;
        this.m_Properties = customers[0].GetType().GetProperties();
        this.m_Columns = new string[this.m_Properties.Length];
        this.m_PropHash = new Hashtable(this.m_Properties.Length);
        for (int i = 0; i < m_Properties.Length; i++)
        {
            this.m_Columns[i] = m_Properties[i].Name;
            this.m_PropHash.Add(m_Properties[i].Name, m_Properties[i]);
        }
        this.m_IEnumerator = this.m_DataSource.GetEnumerator();
    }
    public string[] Columns => this.m_Columns;
    public int Count => this.m_DataSource.Count;
    public void BeforeFirst()
    {
        this.m_IEnumerator = this.m_DataSource.GetEnumerator();
    }
    public object this[int index] => this.m_Properties[index].GetValue(this.m_IEnumerator.Current, null);
    public object this[string columnName] => ((PropertyInfo)this.m_PropHash[columnName]).GetValue(this.m_IEnumerator.Current, null);
    public bool Next()
    {
        if (this.m_IEnumerator == null)
            return false;
        return this.m_IEnumerator.MoveNext();
    }
}

Ez a szokásCustomerDataSource osztály lehetővé teszi az Aspose.Cells számára, hogy mindegyiket értelmezzeCustomer objektumot sorként az Excel fájlban.

4. lépés: Inicializálja az Ügyféladatokat

Most adjunk hozzá néhány ügyfelet a listánkhoz. Itt töltjük be a munkafüzetbe írandó adatokat. Ha szükséges, adjon hozzá további bejegyzéseket.

CustomerList customers = new CustomerList();
customers.Add(new Customer("Thomas Hardy", "120 Hanover Sq., London"));
customers.Add(new Customer("Paolo Accorti", "Via Monte Bianco 34, Torino"));

Ebben a példában egy kis adatkészlettel dolgozunk. Ezt a listát azonban könnyen bővítheti adatbázisból vagy más forrásból származó adatok betöltésével.

5. lépés: Töltse be a munkafüzetet

Most nyissunk meg egy meglévő Excel-munkafüzetet, amely tartalmazza a szükséges intelligens jelölőket. Ez a munkafüzet lesz a sablonunk, és az Aspose.Cells dinamikusan lecseréli az intelligens jelölőket az ügyféladatokra.

string sourceDir = "Your Document Directory";
Workbook workbook = new Workbook(sourceDir + "SmartMarker1.xlsx");

Biztosítsd ezt"SmartMarker1.xlsx" helyőrzőket tartalmaz, mint például&=Customer.FullName és&=Customer.Address ahol adatokat kell kitölteni.

6. lépés: Állítsa be a munkafüzet-tervezőt

Most állítsuk be a munkafüzet-tervezőt úgy, hogy az ügyféladatforrásunkat összekapcsolja a munkafüzet intelligens jelölőivel.

WorkbookDesigner designer = new WorkbookDesigner(workbook);
designer.SetDataSource("Customer", new CustomerDataSource(customers));

ASetDataSource módszer megköti a miCustomerDataSource a munkafüzet intelligens jelölőihez. Minden marker fel van címkézve&=Customer Az Excelben most a megfelelő ügyféladatok váltják fel.

7. lépés: A munkafüzet feldolgozása és mentése

Végül dolgozzuk fel a munkafüzetet az adatok kitöltéséhez és az eredmények mentéséhez.

string outputDir = "Your Document Directory";
designer.Process();
workbook.Save(outputDir + "dest.xlsx");

Ez a kód elindítja az intelligens jelölő feldolgozást, lecseréli az összes helyőrzőt adatra, és az eredményt más néven mentidest.xlsx.

Következtetés

Gratulálok! Sikeresen végrehajtottadICellsDataTableDataSource Aspose.Cells for .NET használatával munkafüzet-tervező számára. Ez a megközelítés ideális a táblázatok adatpopulációjának automatizálására, különösen dinamikus adatok, például ügyféllisták vagy termékkészletek kezelésekor. Ezekkel a készségekkel már jó úton halad az adatvezérelt alkalmazások létrehozása felé, amelyek az Excel-alapú jelentéskészítést gyerekjátékká teszik!

GYIK

Mi azICellsDataTable in Aspose.Cells?

Ez egy olyan felület, amely lehetővé teszi az egyéni adatforrások összekapcsolását az Aspose.Cells intelligens jelölőkkel a dinamikus adatpopuláció érdekében.

Hogyan testreszabhatom az adatokat a munkafüzet-sablonban?

Az intelligens jelölőknek nevezett helyőrzők, mint pl&=Customer.FullName, használatosak. Ezeket a markereket a feldolgozás során valós adatokkal helyettesítjük.

Az Aspose.Cells for .NET ingyenes?

Az Aspose.Cells ingyenes próbaverziót kínál, de a teljes hozzáféréshez fizetős licenc szükséges. Ellenőrizze az övéketingyenes próbaverzió vagyvétel opciók.

Hozzáadhatok több ügyféladatot dinamikusan?

Teljesen! Egyszerűen töltse fel aCustomerListtovábbi bejegyzésekkel a program futtatása előtt.

Hol kaphatok segítséget, ha elakadok?

Aspose rendelkezik atámogatási fórum ahol a felhasználók kérdéseket tehetnek fel, és segítséget kaphatnak a közösségtől és az Aspose csapatától.