Creează o Tabelă
Aspose.Words permite utilizatorilor să creeze tabele în documente din start și oferă mai multe metode diferite pentru a face acest lucru. Acest articol prezintă detalii despre cum să adăugați tabele formatate în documentul dumneavoastră folosind fiecare metodă, precum și o comparație a fiecărei metode la sfârșitul articolului.
Stiluri tabele implicite
Tabelul proaspăt creat este dat valori implicite similare cu cele utilizate în Microsoft Word:
Proprietatea Tabelului | Default la Aspose.Words |
---|---|
Border Style |
Single |
Border Width |
1/2 pt |
Border Color |
Black |
Left and Right Padding |
5.4 pts |
AutoFit Mode |
AutoFit to Window |
Allow AutoFit |
True |
Creează o Tabelă cu DocumentBuilder
În Aspose.Words, utilizatorii pot crea o masă într-un document folosind DocumentBuilder. Algoritmul de bază pentru crearea unei tabele este ca acesta:
- Începe tabelul cu StartTable
- Adăugați o celulă la tabel folosind InsertCell – aceasta va începe automat un nou rând
- În mod opțional, utilizați proprietatea CellFormat pentru a specifica formatarea celulei
- Introduce conținutul celulei folosind metodele DocumentBuilder potrivite, cum ar fi Writeln, InsertImage și altele
- Repetă pașii 2-4 până când rândul este complet
- Apelați EndRow pentru a încheia rândul curent
- În mod opțional, utilizați proprietatea RowFormat pentru a specifica formatarea rândului
- Repetă pașii 2-7 până când tabelul este complet
- Sună EndTable să termeni de construit masa
Detalii importante:
- StartTable poate fi apelat, de asemenea, în interiorul unei celule, în cazul acesta pornind crearea unui tabel încastrat în interiorul celulei.
- După apelarea InsertCell, se creează o nouă celulă, iar orice conținut adăugați folosind alte metode ale clasei DocumentBuilder va fi adăugat la celula curentă. Pentru a crea o nouă celulă pe același rând, apelați din nou InsertCell.
- Dacă InsertCell este chemat imediat după EndRow și sfârșitul unei rânduri, tabelul va continua pe un nou rând.
- Metoda EndTable pentru a încheia tabelul trebuie să fie apelată doar o singură dată după EndRow. Apăsarea EndTable mută cursorul din celula curentă în poziția imediată după tabel.
Procesul de creare a unei tabele poate fi văzut clar în imaginea următoare:
Exemplul următor de cod arată cum să creezi o simplă tabelă folosind DocumentBuilder cu formatare implicită:
Exemplul următor de cod arată cum se creează o masă formatată folosind DocumentBuilder:
Exemplul următor de cod arată cum să inserezi o masă încastrată folosind DocumentBuilder:
Creează o tabelă via DOM (Document Object Model)
Puteți insera tabele direct în DOM adăugând un nod Table nou la o poziție specifică.
Vă rugăm să rețineți că imediat după crearea nodului de tabel, tabelul însuși va fi complet gol, adică nu conține încă rânduri și celule. Pentru a insera rânduri și celule într-o tabelă, adăugați nodurile corespunzătoare Row și Cell ca copii ale DOM.
Exemplul de cod de mai jos arată cum să construiți o nouă tabelă din cămașă prin adăugarea nodurilor corespunzătoare copilului la arborele de documente:
Crează o tabele de la HTML
Aspose.Words acceptă inserarea conținutului într-un document dintr-o sursă HTML folosind metoda InsertHtml. Intrarea poate fi o pagină HTML completă sau doar un fragment parțial.
Utilizând metoda InsertHtml, utilizatorii pot introduce tabele în document folosind etichete de tip tabel ca <table>
, <tr>
, <td>
.
Exemplul următor de cod arată cum să introducem o tabelă într-un document dintr-un șir care conține etichete HTML:
Înserare a unei Copii de o Tabelă Existenta
Sunt adesea momente când trebuie să creezi o tabelă bazată pe o altă tabelă deja existentă într-un document. Cea mai ușoară metodă de a duplica o tabelă în timp ce se păstrează formatarea este să clonezi nodul “Tabel” folosind metoda Clone.
Același tehnic poate fi folosit pentru a adăuga copii ale unei rânduri existente sau celule într-o tabelă.
Exemplul de cod următor arată cum se poate duplica o tabelă folosind constructorii de noduri:
Exemplul de cod următor arată cum se clonează ultima rând dintr-o tabelă și se atașează la tabelă:
Dacă ești în căutarea creării tabelelor într-un document care cresc dinamic cu fiecare înregistrare din sursa de date, atunci metoda de mai sus nu este recomandată. În schimb, ieșirea dorită este mai ușor realizată folosind Mail merge cu regiuni. Puteţi afla mai multe despre această tehnică în secțiunea Mail Merge with Regions.
Comparați modurile de a crea un tabel
Aspose.Words oferă mai multe metode de creare a unor tabele noi într-un document. Fiecare metodă are avantajele şi dezavantajele ei, aşa că alegerea celei care urmează să fie folosită depinde adesea de situaţia specifică.
Să aruncăm o privire mai atentă la aceste moduri de a crea tabele și să comparăm avantajele și dezavantajele acestora:
Metoda | Avantaje | Dezavantajele |
---|---|---|
Via DocumentBuilder |
Metoda standard pentru inserarea tabelelor și a altor conținuturi de documente | Uneori e greu să creezi multe tipuri de tabele în același timp cu aceeași instanță de constructor |
Via DOM | Se potrivește mai bine cu codul înconjurătoare care creează și inserează noduri direct în DOM, fără a folosi un DocumentBuilder | Tabelul este creat “goale”: înainte de a efectua majoritatea operațiilor, trebuie să apelați EnsureMinimum pentru a crea orice noduri copil lipsă |
De la HTML | Poate crea o nouă tabelă din sursa HTML folosind etichete ca <table> , <tr> , <td> |
Nu toate formate de masă Microsoft Word posibile pot fi aplicate la HTML |
Clonarea unei tabele existente | Puteți crea o copie a unei tabele existente păstrând toate formatările de rând și celulă | Copiii potriviți trebuie să fie eliminați înainte de ca tabelul să fie gata pentru utilizare |