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