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

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

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

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

جدول، مانند هر گره دیگری در Aspose.Words، به شی Range دسترسی دارد. با استفاده از شی محدوده جدول، می توانید متن را در جدول جایگزین کنید.

قابلیت استفاده از کاراکترهای خاص هنگام جایگزینی در حال حاضر پشتیبانی می شود، بنابراین می توان متن موجود را با متن چند پاراگراف جایگزین کرد. برای این کار باید از متاکاراکترهای ویژه ای که در روش Replace مربوطه توضیح داده شده است استفاده کنید.

مثال کد زیر نشان می دهد که چگونه می توان تمام نمونه های یک رشته متن را در سلول های یک جدول کامل جایگزین کرد:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
Document doc = new Document(MyDir + "Tables.docx");
Table table = (Table)doc.GetChild(NodeType.Table, 0, true);
table.Range.Replace("Carrots", "Eggs", new FindReplaceOptions(FindReplaceDirection.Forward));
table.LastRow.LastCell.Range.Replace("50", "20", new FindReplaceOptions(FindReplaceDirection.Forward));
doc.Save(ArtifactsDir + "FindAndReplace.ReplaceTextInTable.docx");
view raw replace-text.cs hosted with ❤ by GitHub

متن ساده را از جدول یا سلول استخراج کنید

با استفاده از شی Range، می‌توانید متدهایی را در کل محدوده جدول فراخوانی کنید و جدول را به صورت متن ساده استخراج کنید. برای این کار از ویژگی Text استفاده کنید

مثال کد زیر نحوه چاپ محدوده متن جدول را نشان می دهد:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
Document doc = new Document(MyDir + "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.
Console.WriteLine("Contents of the table: ");
Console.WriteLine(table.Range.Text);
view raw extract-text.cs hosted with ❤ by GitHub

از همین روش فقط برای استخراج محتوا از تک تک سلول‌های جدول استفاده می‌شود.

مثال کد زیر نحوه چاپ یک محدوده متنی از عناصر ردیف و جدول را نشان می دهد:

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET.git.
Console.WriteLine("\nContents of the row: ");
Console.WriteLine(table.Rows[1].Range.Text);
Console.WriteLine("\nContents of the cell: ");
Console.WriteLine(table.LastRow.LastCell.Range.Text);

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

جداول 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-.NET.git.
Document doc = new Document(MyDir + "Tables.docx");
Table table = (Table) doc.GetChild(NodeType.Table, 0, true);
table.Title = "Test title";
table.Description = "Test description";
OoxmlSaveOptions options = new OoxmlSaveOptions { Compliance = OoxmlCompliance.Iso29500_2008_Strict };
doc.CompatibilityOptions.OptimizeFor(Aspose.Words.Settings.MsWordVersion.Word2016);
doc.Save(ArtifactsDir + "WorkingWithTableStylesAndFormatting.TableTitleAndDescription.docx", options);