Създаване на таблица
Aspose.Words позволява на потребителите да създават таблици в документ от самото начало и предоставя няколко различни метода за това. Тази статия представя подробности за това как да добавите форматирани таблици към вашия документ, като използвате всеки метод, както и сравнение на всеки метод в края на статията.
Стилове На Таблици По Подразбиране
Новосъздадената таблица получава стойности по подразбиране, подобни на тези, използвани в Microsoft Word:
Свойства На Таблицата | По подразбиране Aspose.Words |
---|---|
Border Style |
Single |
Border Width |
1/2 пт |
Border Color |
Black |
Left and Right Padding |
5.4 pts |
AutoFit Mode |
AutoFit to Window |
Allow AutoFit |
True |
Създаване на таблица с DocumentBuilder
В Aspose.Words потребителите могат да създадат таблица в документ, като използват DocumentBuilder. Основният алгоритъм за създаване на таблица е както следва::
- Започнете таблицата с StartTable
- Добавяне на клетка в таблицата с InsertCell - това автоматично стартира нов ред
- По желание използвайте свойството CellFormat, за да зададете форматиране на клетки
- Въведете съдържанието на клетката, като използвате подходящи DocumentBuilder методи като Writeln, InsertImage и други
- Повторете стъпки 2-4, докато редът е завършен
- Повикване EndRow за край на текущия ред
- По желание използвайте свойството RowFormat, за да зададете форматиране на редове
- Повторете стъпки 2-7, докато таблицата е пълна
- Обадете се EndTable, за да завършите изграждането на масата
Важни детайли:
- StartTable може да бъде извикан и вътре в клетката, като в този случай започва създаването на вложена таблица в клетката.
- След повикване InsertCell се създава нова клетка и всяко съдържание, което добавите с помощта на други методи от класа DocumentBuilder, ще бъде добавено към текущата клетка. За да създадете нова клетка на същия ред, обадете се отново InsertCell.
- Ако InsertCell е извикан веднага след EndRow и края на ред, таблицата ще продължи на нов ред.
- Методът EndTable за завършване на таблицата трябва да бъде извикан само веднъж след извикване на EndRow. Извикването EndTable премества курсора от текущата клетка в позицията веднага след таблицата.
Процесът на създаване на таблица може да се види ясно на следващата снимка:
Следващият пример за код показва как да създадете проста таблица с DocumentBuilder с форматиране по подразбиране:
Следващият пример за код показва как да създадете форматирана таблица с DocumentBuilder:
Следващият пример за код показва как да вмъкнете вложена таблица, като използвате DocumentBuilder:
Създаване на таблица чрез DOM (модел на обект на документ)
Можете да вмъквате таблици директно в DOM, като добавите нов Table възел на определена позиция.
Моля, обърнете внимание, че веднага след създаването на възела на таблицата, самата таблица ще бъде напълно празна, т.е. все още не съдържа редове и клетки. За да вмъкнете редове и клетки в таблица, добавете съответните Row и Cell дъщерни възли към DOM.
Следващият пример за код показва как да се изгради нова таблица от самото начало чрез добавяне на съответните дъщерни възли към дървото на документа:
Създаване на таблица от HTML
Aspose.Words поддържа вмъкване на съдържание в документ от източник HTML, като се използва методът InsertHtml. Входът може да бъде пълна HTML страница или само частичен фрагмент.
Използвайки метода InsertHtml, потребителите могат да вмъкват таблици в документа чрез етикети на таблица като <table>
, <tr>
, <td>
.
Следващият пример за код показва как да вмъкнете таблица в документ от низ, съдържащ етикети HTML:
Вмъкване на копие на съществуваща таблица
Често има случаи, когато трябва да създадете таблица въз основа на вече съществуваща таблица в документ. Най-лесният начин да дублирате таблица, като запазите цялото форматиране, е да клонирате възела на таблицата, като използвате метода Clone.
Същата техника може да се използва за добавяне на копия на съществуващ ред или клетка в таблица.
Следващият пример за код показва как да дублирате таблица с помощта на конструктори на възли:
Следващият пример за код показва как да клонирате последния ред на таблица и да го добавите към таблицата:
Ако търсите в създаване на таблици в документ, който расте динамично с всеки запис от вашия източник на данни, след това по-горе метод не се препоръчва. Вместо това желаният резултат се постига по-лесно чрез използване на Mail merge с региони. Можете да научите повече за тази техника в Mail Merge с региони отдел.
Сравнете начините за създаване на таблица
Aspose.Words предоставя няколко метода за създаване на нови таблици в документ. Всеки метод има своите предимства и недостатъци, така че изборът кой да се използва често зависи от конкретната ситуация.
Нека да разгледаме по-отблизо тези начини за създаване на таблици и да сравним техните плюсове и минуси:
Метод | Предимства | Недостатъци |
---|---|---|
DocumentBuilder |
Стандартният метод за вмъкване на таблици и друго съдържание на документ | Понякога е трудно да се създадат много разновидности на таблици по едно и също време с един и същ строител инстанция |
DOM | Вписва се по-добре със заобикалящия код, който създава и вмъква възли директно в DOM, без да използва DocumentBuilder | Таблицата е създадена “празна”: преди да извършите повечето операции, трябва да се обадите EnsureMinimum, за да създадете липсващи дъщерни възли |
От HTML | Може да създаде нова таблица от HTML източник с помощта на етикети като <table> , <tr> , <td> |
Не всички възможни формати на таблица Microsoft Word могат да бъдат приложени към HTML |
Клониране на съществуваща таблица | Можете да създадете копие на съществуваща таблица, като запазите форматирането на всички редове и клетки | Подходящите детски възли трябва да бъдат отстранени, преди таблицата да е готова за употреба |