کار با متن در یک جدول

همانطور که در مقالات قبلی اشاره شد، یک جدول معمولا حاوی متن ساده است، اگرچه محتوای دیگر مانند تصاویر یا حتی جداول دیگر را می توان در سلول های جدول قرار داد.

اضافه کردن متن یا سایر مطالب به جدول با استفاده از روش های مناسب کلاس DocumentBuilder انجام می شود و در مقاله “Create a Table” شرح داده شده است. در این مقاله، ما در مورد نحوه کار با متن در یک جدول موجود صحبت خواهیم کرد.

متن را در یک جدول جایگزین کنید

جدول، مانند هر گره دیگر در Aspose.Words، به شی Range دسترسی دارد. با استفاده از شی table 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 جدول ها دارای table title و table description هستند که یک نمایش متنی جایگزین از اطلاعات موجود در جدول را ارائه می دهند.

در Aspose.Words، شما همچنین می توانید یک عنوان جدول و توصیف با استفاده از ویژگی های Title و Description اضافه کنید. این خواص برای DOCX اسناد مطابق با ISO/IEC 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);