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 beICellsDataTableDataSource
munkafü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
ésAddress
Tekints 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 aCustomerList
tová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.