Работа с текст в таблица

Както е посочено в предходните статии, таблицата обикновено съдържа обикновен текст, въпреки че друго съдържание като изображения или дори други таблици могат да бъдат поставени в клетки на таблицата.

Добавянето на текст или друго съдържание към таблицата се извършва, като се използват подходящите методи на DocumentBuilder клас и е описан в “Създай маса” статия. В тази статия ще обсъдим как да работим с текста в вече съществуваща таблица.

Замяна на текст в таблица

Масата, като всеки друг възел в Aspose.Words, има достъп до Range Възразявам. С помощта на обекта от таблицата можете да замените текста в таблица.

Възможността за използване на специални символи при заместване в момента се поддържа, така че е възможно да се замени съществуващ текст с многопараграфи текст. За да направите това, трябва да използвате специалните мета символи, описани в съответните Replace метод.

Следният пример за код показва как да замените всички случаи на низ от текст в клетките на цяла таблица:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java.git.
Document doc = new Document(getMyDir() + "Tables.docx");
Table table = (Table)doc.getChild(NodeType.TABLE, 0, true);
table.getRange().replace("Carrots", "Eggs", new FindReplaceOptions(FindReplaceDirection.FORWARD));
table.getLastRow().getLastCell().getRange().replace("50", "20", new FindReplaceOptions(FindReplaceDirection.FORWARD));
doc.save(getArtifactsDir() + "FindAndReplace.ReplaceTextInTable.docx");

Извличане на обикновен текст от таблица

Използване на Range обект, можете също така да се обадя методи на цялата таблица диапазон и извличане на таблицата като обикновен текст. За целта използвайте Text собственост

Следният пример с код показва как да отпечатате текстовия диапазон на таблица:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java.git.
Document doc = new Document(getMyDir() + "Tables.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
// 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.
System.out.println("Contents of the table: ");
System.out.println(table.getRange().getText());

Следният пример за код показва как да отпечатате текстовия диапазон на ред и елементи на таблица.

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java.git.
System.out.println("\nContents of the row: ");
System.out.println(table.getRows().get(1).getRange().getText());
System.out.println("\nContents of the cell: ");
System.out.println(table.getLastRow().getLastCell().getRange().getText());

Работа с алтернативен текст на таблицата

Microsoft Word масите имат a 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-Java.git.
Document doc = new Document(getMyDir() + "Tables.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
table.setTitle("Test title");
table.setDescription("Test description");
OoxmlSaveOptions options = new OoxmlSaveOptions(); { options.setCompliance(OoxmlCompliance.ISO_29500_2008_STRICT); }
doc.getCompatibilityOptions().optimizeFor(com.aspose.words.MsWordVersion.WORD_2016);
doc.save(getArtifactsDir() + "WorkingWithTableStylesAndFormatting.SetTableTitleAndDescription.docx", options);