Tabel dalam dokumen Word adalah alat yang ampuh untuk mengatur dan menyajikan data dalam format yang jelas dan terstruktur. Tabel terdiri dari baris dan kolom yang berpotongan membentuk sel yang dapat berisi teks, angka, gambar, atau elemen lainnya. Pada artikel ini, kita akan mempelajari cara membuat tabel di dokumen Word secara terprogram menggunakan C#. Artikel ini memperlihatkan berbagai metode untuk membuat tabel dalam file DOCX yang didukung oleh contoh kode.
Artikel ini mencakup topik-topik berikut:
- Perpustakaan C# untuk Membuat Tabel di Dokumen Word
- Buat Tabel di Dokumen Word
- Buat Tabel Bersarang di Dokumen Word
- Mengkloning Tabel yang Ada di Dokumen Word
- Buat Tabel dari HTML
Perpustakaan C# untuk Membuat Tabel di Dokumen Word
Untuk bekerja dengan tabel di dokumen Word, kita akan menggunakan perpustakaan Aspose.Words for .NET. Ini adalah perpustakaan tangguh yang memungkinkan Anda membuat dan memanipulasi dokumen Word secara dinamis secara terprogram langsung dalam aplikasi .NET.
Silakan unduh DLL atau instal dari NuGet menggunakan perintah berikut:
PM> Install-Package Aspose.Words
Buat Tabel di Dokumen Word di C#
Ada dua cara membuat tabel di dokumen Word menggunakan Aspose.Words for .NET:
- Menggunakan kelas DocumentBuilder
- Menggunakan DOM (Model Objek Dokumen)
Anda dapat memilih metode yang paling sesuai dengan kebutuhan Anda. Jadi mari kita jelajahi masing-masing metode ini secara mendetail.
Buat Tabel menggunakan DocumentBuilder
Kelas DocumentBuilder memungkinkan pembuatan dokumen dinamis yang efisien dan mudah dari awal atau memodifikasi dokumen yang sudah ada. Dengan rangkaian fungsinya yang komprehensif, kita dapat dengan mudah menyisipkan beragam elemen konten, termasuk teks, kotak centang, objek OLE, paragraf, daftar, tabel, gambar, dan banyak lagi.
Silakan ikuti langkah-langkah di bawah ini untuk membuat tabel di dokumen Word menggunakan kelas DocumentBuilder.
- Buat objek kelas Document.
- Buat objek kelas DocumentBuilder.
- Buat tabel baru menggunakan metode StartTable().
- Sisipkan sel menggunakan metode InsertCell().
- Masukkan teks ke dalam sel menggunakan metode Write().
- Ulangi penyisipan sel dan teks ke dalam sel sesuai kebutuhan.
- Akhiri baris menggunakan metode EndRow().
- Akhiri tabel menggunakan metode EndTable().
- Terakhir, simpan dokumen Word menggunakan metode Save().
Contoh kode berikut menunjukkan cara membuat tabel di dokumen Word menggunakan C#.
// Contoh kode ini menunjukkan cara membuat tabel di dokumen Word menggunakan C#
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Mulailah membangun meja.
builder.StartTable();
builder.InsertCell();
builder.Write("Row 1, Cell 1 Content.");
// Bangun sel kedua.
builder.InsertCell();
builder.Write("Row 1, Cell 2 Content.");
// Panggil metode berikut untuk mengakhiri baris dan memulai baris baru.
builder.EndRow();
// Bangun sel pertama dari baris kedua.
builder.InsertCell();
builder.Write("Row 2, Cell 1 Content");
// Bangun sel kedua.
builder.InsertCell();
builder.Write("Row 2, Cell 2 Content.");
builder.EndRow();
// Tanda bahwa kita telah selesai membuat tabel.
builder.EndTable();
doc.Save("CreateSimpleTable.docx");
Membuat Tabel menggunakan Model Objek Dokumen (DOM)
Model Objek Dokumen (DOM) adalah representasi dokumen Word dalam memori. Ini memungkinkan akses terprogram untuk membaca, memanipulasi, dan memodifikasi konten dan format dokumen Word.
Silakan ikuti langkah-langkah di bawah ini untuk membuat tabel di dokumen Word menggunakan DOM.
- Buat objek kelas Document.
- Buat tabel baru menggunakan kelas Table().
- Tambahkan tabel ke badan dokumen menggunakan metode AppendChild().
- Buat objek kelas Row dan masukkan ke dalam tabel menggunakan metode Table.AppendChild(Row).
- Buat objek kelas Sel, atur opsi pemformatan, dan tambahkan teks ke sel.
- Masukkan sel ke dalam baris menggunakan metode Row.AppendChild(Cell).
- Setelah itu, ulangi proses tersebut untuk baris sebanyak yang Anda inginkan.
- Terakhir, simpan dokumen Word menggunakan metode Save().
Contoh kode berikut menunjukkan cara membuat tabel di dokumen Word menggunakan C#.
// Contoh kode ini menunjukkan cara membuat tabel di dokumen Word menggunakan DOM di C#
Document doc = new Document();
// Kita mulai dengan membuat objek tabel. Perhatikan bahwa kita harus meneruskan objek dokumen
// ke konstruktor setiap node. Hal ini karena setiap node yang kita buat harus dimiliki
// ke beberapa dokumen.
Table table = new Table(doc);
doc.FirstSection.Body.AppendChild(table);
// Di sini kita dapat memanggil PastikanMinimum untuk membuat baris dan sel untuk kita. Metode ini digunakan
// untuk memastikan bahwa node yang ditentukan valid. Dalam hal ini, tabel yang valid harus memiliki setidaknya satu Baris dan satu sel.
// Sebagai gantinya, kita akan menangani sendiri pembuatan baris dan tabelnya.
// Ini akan menjadi cara terbaik untuk melakukan ini jika kita membuat tabel di dalam suatu algoritma.
Row row = new Row(doc);
row.RowFormat.AllowBreakAcrossPages = true;
table.AppendChild(row);
// Kami sekarang dapat menerapkan pengaturan penyesuaian otomatis apa pun.
table.AutoFit(AutoFitBehavior.FixedColumnWidths);
Cell cell = new Cell(doc);
cell.CellFormat.Shading.BackgroundPatternColor = Color.LightBlue;
cell.CellFormat.Width = 80;
cell.AppendChild(new Paragraph(doc));
cell.FirstParagraph.AppendChild(new Run(doc, "Row 1, Cell 1 Text"));
// Tambahkan sel
row.AppendChild(cell);
// Kami kemudian akan mengulangi proses untuk sel dan baris lain dalam tabel.
// Kita juga dapat mempercepatnya dengan mengkloning sel dan baris yang ada.
row.AppendChild(cell.Clone(false));
row.LastCell.AppendChild(new Paragraph(doc));
row.LastCell.FirstParagraph.AppendChild(new Run(doc, "Row 1, Cell 2 Text"));
// Simpan dokumennya
doc.Save("InsertTableDirectly.docx");
Buat Tabel Bersarang di Dokumen Word menggunakan C#
Kita juga bisa membuat tabel baru di dalam sel tabel. Berikut ini adalah langkah-langkah membuat tabel bersarang di dokumen Word.
- Buat objek kelas Document.
- Buat objek kelas DocumentBuilder.
- Buat tabel menggunakan metode StartTable() dan dapatkan referensi ke tabel dalam suatu objek.
- Sisipkan sel menggunakan metode InsertCell() dan dapatkan referensi ke sel dalam suatu objek.
- Sisipkan teks ke dalam sel menggunakan metode DocumentBuilder.Write().
- Ulangi penyisipan sel dan teks ke dalam sel sesuai kebutuhan.
- Akhiri tabel setelah Anda menyisipkan semua baris.
- Pindahkan kontrol di dalam sel yang diinginkan menggunakan metode MoveTo(cell.FirstParagraph).
- Buat tabel lain dengan menyisipkan sel, dan akhiri tabel setelah selesai.
- Terakhir, simpan dokumen Word menggunakan metode Save().
Contoh kode berikut memperlihatkan cara membuat tabel bertumpuk di dokumen Word menggunakan C#.
// Contoh kode ini menunjukkan cara membuat tabel bersarang di dokumen Word menggunakan C#
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Cell cell = builder.InsertCell();
builder.Writeln("Outer Table Cell 1");
builder.InsertCell();
builder.Writeln("Outer Table Cell 2");
// Panggilan ini penting untuk membuat tabel bersarang di dalam tabel pertama.
// Tanpa panggilan ini, sel yang disisipkan di bawah akan ditambahkan ke tabel luar.
builder.EndTable();
// Pindah ke sel pertama tabel luar.
builder.MoveTo(cell.FirstParagraph);
// Bangun tabel bagian dalam.
builder.InsertCell();
builder.Writeln("Inner Table Cell 1");
builder.InsertCell();
builder.Writeln("Inner Table Cell 2");
builder.EndTable();
// Simpan dokumennya
doc.Save("NestedTable.docx");
Mengkloning Tabel yang Ada di Dokumen Word di C#
Kita dapat mengkloning tabel yang ada di dokumen Word dengan mengikuti langkah-langkah di bawah ini:
- Muat dokumen yang ada dengan tabel menggunakan kelas Document.
- Dapatkan tabel dalam objek menggunakan metode GetChild(NodeType.TABLE, int, boolean).
- Kloning tabel menggunakan metode Table.Clone(True).
- Masukkan tabel kloning menggunakan metode Table.ParentNode.InsertAfter().
- Sisipkan paragraf kosong di antara tabel menggunakan metode Table.ParentNode.InsertAfter(new Paragraph(Document), Table).
- Terakhir, simpan dokumen Word menggunakan metode Save().
Contoh kode berikut memperlihatkan cara mengkloning tabel di dokumen Word menggunakan C#.
// Contoh kode ini menunjukkan cara mengkloning tabel yang ada di dokumen Word menggunakan C#
Document doc = new Document("Tables.docx");
Table table = (Table) doc.GetChild(NodeType.Table, 0, true);
// Kloning tabel dan masukkan ke dalam dokumen setelah aslinya.
Table tableClone = (Table) table.Clone(true);
table.ParentNode.InsertAfter(tableClone, table);
// Sisipkan paragraf kosong di antara dua tabel,
// atau mereka akan digabungkan menjadi satu setelah disimpan, ini ada hubungannya dengan validasi dokumen.
table.ParentNode.InsertAfter(new Paragraph(doc), table);
doc.Save("CloneCompleteTable.docx");
Buat Tabel di Dokumen Word dari HTML
Kita juga bisa membuat tabel di dokumen Word menggunakan string HTML dengan mengikuti langkah-langkah di bawah ini:
- Buat objek kelas Document.
- Buat objek kelas DocumentBuilder.
- Masukkan string HTML tabel ke dalam dokumen menggunakan metode DocumentBuilder.InsertHtml(String).
- Terakhir, simpan dokumen menggunakan metode Document.Save().
Contoh kode berikut menunjukkan cara menyisipkan tabel HTML di dokumen Word menggunakan C#.
// Contoh kode ini menunjukkan cara menyisipkan tabel HTML di dokumen Word menggunakan C#
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Perhatikan bahwa AutoFitSettings tidak berlaku untuk tabel yang disisipkan dari HTML.
builder.InsertHtml("<table>" +
"<tr>" +
"<td>Row 1, Cell 1</td>" +
"<td>Row 1, Cell 2</td>" +
"</tr>" +
"<tr>" +
"<td>Row 2, Cell 2</td>" +
"<td>Row 2, Cell 2</td>" +
"</tr>" +
"</table>");
doc.Save("InsertTableFromHtml.docx");
Dapatkan Lisensi API Gratis
Anda bisa mendapatkan lisensi sementara untuk menggunakan Aspose.Words for .NET tanpa batasan evaluasi.
Kesimpulan
Pada artikel ini, kita telah mempelajari cara membuat tabel di dokumen Word menggunakan C#. Kami telah menjelajahi berbagai metode untuk membuat tabel secara terprogram menggunakan C#. Kita juga telah melihat cara membuat tabel bersarang atau mengkloning tabel yang ada di dokumen Word secara dinamis. Selain itu, Anda dapat mempelajari lebih lanjut dan menjelajahi berbagai fitur perpustakaan lainnya menggunakan dokumentasi. Jika ada ambiguitas, jangan ragu untuk menghubungi kami di forum dukungan gratis kami.