Bekerja dengan Teks dalam Tabel

Seperti yang telah disebutkan pada artikel sebelumnya, sebuah tabel biasanya berisi teks biasa, meskipun konten lain seperti gambar atau bahkan tabel lainnya dapat ditempatkan di sel tabel.

Menambahkan teks atau konten lain ke tabel dilakukan menggunakan metode kelas DocumentBuilder yang sesuai dan dijelaskan dalam artikel “Buat Tabel”. Pada artikel ini, kita akan membahas tentang cara bekerja dengan teks di tabel yang sudah ada.

Ganti Teks dalam Tabel

Tabel, seperti node lainnya di Aspose.Words, memiliki akses ke objek Range. Dengan menggunakan objek rentang tabel, Anda dapat mengganti teks dalam tabel.

Kemampuan untuk menggunakan karakter khusus saat penggantian saat ini didukung, sehingga teks yang ada dapat diganti dengan teks multi-paragraf. Untuk melakukan ini, Anda perlu menggunakan metakarakter khusus yang dijelaskan dalam metode Replace yang sesuai.

Contoh kode berikut menunjukkan cara mengganti semua contoh string teks di sel seluruh tabel:

// 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

Ekstrak Teks Biasa dari Tabel atau Sel

Dengan menggunakan objek Range, Anda juga dapat memanggil metode di seluruh rentang tabel dan mengekstrak tabel sebagai teks biasa. Untuk melakukan ini, gunakan properti Text

Contoh kode berikut menunjukkan cara mencetak rentang teks tabel:

// 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

Teknik yang sama digunakan untuk mengekstrak konten dari sel tabel individual saja.

Contoh kode berikut menunjukkan cara mencetak rentang teks elemen baris dan tabel:

// 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);

Bekerja dengan Teks Tabel Alternatif

Tabel Microsoft Word memiliki table title dan table description yang memberikan representasi tekstual alternatif dari informasi yang terkandung dalam tabel.

Di Aspose.Words, Anda juga bisa menambahkan judul dan deskripsi tabel menggunakan properti Title dan Description. Properti ini berguna untuk dokumen DOCX yang sesuai dengan ISO/IEC 29500. Saat menyimpan dalam format yang lebih lama dari ISO/IEC 29500, properti ini diabaikan.

Contoh kode berikut menunjukkan cara mengatur properti judul dan deskripsi tabel:

// 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);