Робота з текстом в таблиці
Як зазначено в попередніх статтях, таблиця зазвичай містить звичайний текст, хоча інший зміст, такі як зображення або навіть інші таблиці можна розмістити в таблиці клітин.
Додавання тексту або іншого вмісту до таблиці здійснюється за допомогою відповідних методів DocumentBuilder клас і описано в “Створити таблицю” стаття. У статті ми будемо говорити про те, як працювати з текстом вже існуючого столу.
Заміна тексту в таблиці
Стіл, як будь-який інший вузол в Aspose.Words, має доступ до Range об’єкт. За допомогою об’єкту таблиці можна замінити текст у таблиці.
Уміння використовувати спеціальні символи при заміні в даний час підтримується, тому можна замінити існуючий текст з текстом багатопара. Для цього потрібно використовувати спеціальні метахаракти, описані в відповідних умовах Replace метод.
Приклад наступного коду показує, як замінити всі екземпляри рядка тексту в клітинках цілого столу:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git. | |
doc = aw.Document(MY_DIR + "Tables.docx") | |
table = doc.get_child(aw.NodeType.TABLE, 0, True).as_table() | |
table.range.replace("Carrots", "Eggs", aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD)) | |
table.last_row.last_cell.range.replace("50", "20", aw.replacing.FindReplaceOptions(aw.replacing.FindReplaceDirection.FORWARD)) | |
doc.save(ARTIFACTS_DIR + "FindAndReplace.replace_text_in_table.docx") |
Витяг Plain Text з таблиці або клітинки
Використання Range об’єкт, ви також можете викликати методи на весь ряд таблиці і витягти таблицю як звичайний текст. Для цього використовуйте Text майно
Приклад наступного коду показує, як друкувати текстовий діапазон таблиці:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git. | |
doc = aw.Document(MY_DIR + "Tables.docx") | |
table = doc.get_child(aw.NodeType.TABLE, 0, True).as_table() | |
# The range text will include control characters such as "\a" for a cell. | |
# You can call ToString and pass SaveFormat.text on the desired node to find the plain text content. | |
print("Contents of the table: ") | |
print(table.range.text) |
Така ж техніка використовується для вилучення вмісту з окремих комірок.
Приклад наступного коду показує, як друкувати текстовий діапазон рядків та елементів таблиці:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git. | |
print("\nContents of the row: ") | |
print(table.rows[1].range.text) | |
print("\nContents of the cell: ") | |
print(table.last_row.last_cell.range.text) |
Робота з альтернативним текстом таблиці
Microsoft Word Столи мають table title
і table description
надання альтернативного текстового представлення інформації, що міститься в таблиці.
У Aspose.Words, Ви також можете додати назву таблиці та опис за допомогою таблиці Title і Description властивості. Ці властивості значущі для документів DOCX, що відповідають даним параметрам ISO/ МВЦ 29500. При збереженні у форматах раніше ISO/IEC 29500, ці властивості ігноруються.
Приклад коду показує, як встановити назву та опис властивостей таблиці:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git. | |
doc = aw.Document(MY_DIR + "Tables.docx") | |
table = doc.get_child(aw.NodeType.TABLE, 0, True).as_table() | |
table.title = "Test title" | |
table.description = "Test description" | |
options = aw.saving.OoxmlSaveOptions() | |
options.compliance = aw.saving.OoxmlCompliance.ISO29500_2008_STRICT | |
doc.compatibility_options.optimize_for(aw.settings.MsWordVersion.WORD2016) | |
doc.save(ARTIFACTS_DIR + "WorkingWithTableStylesAndFormatting.table_title_and_description.docx", options) |