Lakukan penggabungan horizontal atau penggabungan vertikal dari satu atau lebih sel tabel dalam file DOCS/DOCX. Fileformat.words menyediakan metode untuk bekerja dengan tabel dalam file Word.
Ikhtisar
Versi yang lebih baru dari [FileFormat.Words] 2 menawarkan metode lebih lanjut untuk bekerja dengan tabel di [Word] 3 dokumen. [Versi] sebelumnya 4 berisi metode untuk membuat, mengedit, dan membaca properti tabel sedangkan versi terbaru memungkinkan pengguna secara terprogram menggabungkan sel tabel dalam file DOCS/DOCX. Selain itu, Anda dapat melakukan penggabungan horizontal atau penggabungan vertikal sel meja menggunakan sumber terbuka .net [pustaka] 5. Selain itu, ini adalah perpustakaan yang mudah digunakan yang metodenya tidak rumit dan tidak memerlukan ketergantungan pihak ketiga. Dalam posting blog ini, kita akan belajar cara menggabungkan sel -sel meja dalam dokumen Word. Jadi, mari kita mulai proses instalasi dan mulai menulis kode sumber. Kami akan membahas judul berikut dalam artikel ini:
Instalasi API Generator Tabel
Silakan kunjungi [tautan] ini 8 untuk informasi terperinci tentang instalasi. Hanya untuk mem-kaps, proses pemasangan .NET API gratis ini relatif mudah. Nah, Anda dapat mengunduh [Paket Nuget] 9 atau menjalankan perintah berikut di Nuget Package Manager:
Install-Package FileFormat.Words
Cara menggabungkan sel meja dalam dokumen kata
Kami akan menulis cuplikan kode untuk mencapai penggabungan horizontal dan penggabungan vertikal sel meja. Untuk tujuan itu, kami akan menggunakan kelas dan metode yang terbuka. Silakan kunjungi panduan ini untuk mempelajari cara membuat tabel dalam dokumen Word menggunakan fileformat.words. Jadi, kami akan menggunakan kelas dan metode lebih lanjut dalam cuplikan kode kami:
- Buat objek kelas [VerticalMerge] 10.
- [MergerestArt] 11 Properti digunakan untuk menentukan bahwa elemen harus memulai wilayah gabungan vertikal baru dalam tabel.
- Aiblikan metode [tambahkan] 12 untuk melampirkan objek VerticalMerge dengan objek TBLCellProps.
- Instantiate sebuah instance dari kelas [horizontalmerge] 13.
- [MergerestArt] 14 Properti digunakan untuk menentukan bahwa elemen harus memulai wilayah yang baru digabungkan secara horizontal dalam tabel.
- Hubungi metode [append] 15 untuk melampirkan objek horizontalmerge dengan objek TBLCellProps.
- [Mergecontinue] 16 Properti digunakan untuk menentukan bahwa elemen harus mengakhiri wilayah yang digabung secara horizontal dalam tabel.
- [Mergecontinue] 17 Properti digunakan untuk menentukan bahwa elemen harus mengakhiri wilayah gabungan vertikal dalam tabel.
using FileFormat.Words;
using FileFormat.Words.Table;
namespace Example
{
class Program
{
static void Main(string[] args)
{
// Initialize an instance of the Document class.
using (Document doc = new Document())
{
// Instantiate the constructor of the Body class with the Document class object.
Body body = new Body(doc);
// Create an object of the Table class.
Table table = new Table();
// Initialize the constructor of the TopBorder class to set the border of the top side of the table.
TopBorder topBorder = new TopBorder();
// Invoke the basicBlackSquares_border method to set the border style and border line width.
topBorder.basicBlackSquares_border(20);
// To set the border of the bottom side of the table.
BottomBorder bottomBorder = new BottomBorder();
bottomBorder.basicBlackSquares_border(20);
// To set the border of the right side of the table.
RightBorder rightBorder = new RightBorder();
rightBorder.basicBlackSquares_border(20);
// To set the border of the left side of the table.
LeftBorder leftBorder = new LeftBorder();
leftBorder.basicBlackSquares_border(20);
// To set the inside vertical border of the table.
InsideVerticalBorder insideVerticalBorder = new InsideVerticalBorder();
insideVerticalBorder.basicBlackSquares_border(20);
// To set the inside vehorizontalrtical border of the table.
InsideHorizontalBorder insideHorizontalBorder = new InsideHorizontalBorder();
insideHorizontalBorder.basicBlackSquares_border(20);
// Create an instance of the TableBorders class.
TableBorders tableBorders = new TableBorders();
// Append the object of the TopBorder class to the object of the TableBorders class.
tableBorders.AppendTopBorder(topBorder);
// Append the object of the BottomBorder class.
tableBorders.AppendBottomBorder(bottomBorder);
// Append the object of the RightBorder class.
tableBorders.AppendRightBorder(rightBorder);
// Append the object of the LeftBorder class.
tableBorders.AppendLeftBorder(leftBorder);
// Append the object of the InsideVerticalBorder class.
tableBorders.AppendInsideVerticalBorder(insideVerticalBorder);
// Append the object of the InsideHorizontalBorder class.
tableBorders.AppendInsideHorizontalBorder(insideHorizontalBorder);
// Initialize an instance of the TableProperties class.
TableProperties tblProp = new TableProperties();
// Invoke the Append method to attach the object of the TableBorders class.
tblProp.Append(tableBorders);
// Create an instance of the TableJustification class
TableJustification tableJustification = new TableJustification();
// Call the AlignLeft method to position the table on left side of the document.
tableJustification.AlignLeft();
// Invoke the Append method to attach the tableJustification object to the tblProp object.
tblProp.Append(tableJustification);
// The AppendChild method will attach the table properties to the table.
table.AppendChild(tblProp);
// Create an object of the TableRow class to create a table row.
TableRow tableRow = new TableRow();
TableRow tableRow2 = new TableRow();
// Initialize an instance of the TableCell class.
TableCell tableCell = new TableCell();
Paragraph para = new Paragraph();
Run run = new Run();
// Set the header of the first column by invoking the TableHeaders method.
table.TableHeaders("Name");
run.Text = "Mustafa";
para.AppendChild(run);
// Call the Append method to add text inside the table cell.
tableCell.Append(para);
// Create an object of the TableCellProperties table properties
TableCellProperties tblCellProps = new TableCellProperties();
// Set the width of table cell by initializing the object of the TableCellWidth class and append to tblCellProps object.
tblCellProps.Append(new TableCellWidth("2400"));
// Append method will attach the tblCellProps object with the object of the TableCell class.
tableCell.Append(tblCellProps);
TableCell tableCell2 = new TableCell();
Paragraph para2 = new Paragraph();
Run run2 = new Run();
// set the header of the second column
table.TableHeaders("Nationality");
run2.Text = "Pakistani";
para2.AppendChild(run2);
tableCell2.Append(para2);
TableCellProperties tblCellProps2 = new TableCellProperties();
// Create an object of the VerticalMerge class.
VerticalMerge verticalMerge = new VerticalMerge();
// MergeRestart property is used to specify that the element shall start a new vertically merged region in the table.
verticalMerge.MergeRestart = true;
// Invoke the Append method to attach the verticalMerge object with the tblCellProps object.
tblCellProps.Append(verticalMerge);
// Instantiate an instance of the HorizontalMerge class.
HorizontalMerge horizontalMerge = new HorizontalMerge();
// MergeRestart property is used to specify that the element shall start a new horizontally merged region in the table.
horizontalMerge.MergeRestart = true;
// Call the Append method to attach the horizontalMerge object with the tblCellProps object.
tblCellProps2.Append(horizontalMerge);
tblCellProps2.Append(new TableCellWidth("1400"));
tableCell2.Append(tblCellProps2);
TableCell tableCell3 = new TableCell();
Paragraph para3 = new Paragraph();
Run run3 = new Run();
table.TableHeaders("Age");
run3.Text = "30";
para3.AppendChild(run3);
tableCell3.Append(para3);
HorizontalMerge horizontalMerge1 = new HorizontalMerge();
// MergeContinue property is used to specify that the element shall end a horizontally merged region in the table.
horizontalMerge1.MergeContinue = true;
TableCellProperties tblCellProps3 = new TableCellProperties();
tblCellProps3.Append(new TableCellWidth("1400"));
tblCellProps3.Append(horizontalMerge1);
tableCell3.Append(tblCellProps3);
// Call the Append method to add cells into table row.
tableRow.Append(tableCell);
tableRow.Append(tableCell2);
tableRow.Append(tableCell3);
// create table cell
TableCell _tableCell = new TableCell();
Paragraph _para = new Paragraph();
Run _run = new Run();
_run.Text = "sultan";
_para.AppendChild(_run);
_tableCell.Append(_para);
TableCellProperties tblCellProps1_ = new TableCellProperties();
VerticalMerge verticalMerge2 = new VerticalMerge();
// MergeContinue property is used to specify that the element shall end a vertically merged region in the table.
verticalMerge2.MergeContinue = true;
tblCellProps1_.Append(verticalMerge2);
tblCellProps1_.Append(new TableCellWidth("2400"));
_tableCell.Append(tblCellProps1_);
TableCell _tableCell2 = new TableCell();
Paragraph _para2 = new Paragraph();
Run _run2 = new Run();
_run2.Text = "British";
_para2.AppendChild(_run2);
_tableCell2.Append(_para2);
TableCellProperties tblCellProps2_ = new TableCellProperties();
tblCellProps2_.Append(new TableCellWidth("1400"));
_tableCell2.Append(tblCellProps2_);
TableCell _tableCell3 = new TableCell();
Paragraph _para3 = new Paragraph();
Run _run3 = new Run();
_run3.Text = "2";
_para3.AppendChild(_run3);
_tableCell3.Append(_para3);
TableCellProperties tblCellProps3_ = new TableCellProperties();
tblCellProps3_.Append(new TableCellWidth("1400"));
_tableCell3.Append(tblCellProps3_);
tableRow2.Append(_tableCell);
tableRow2.Append(_tableCell2);
tableRow2.Append(_tableCell3);
// Call the Append method to add the rows into table.
table.Append(tableRow);
table.Append(tableRow2);
// The AppendChild method will add the table to the body of the document.
body.AppendChild(table);
// The Save method will save the Word document onto the disk.
doc.Save("/Users/Mustafa/Desktop/Docs.docx");
}
}
}
}
Salin dan tempel segmen kode di atas ke file utama Anda dan jalankan. Anda akan melihat file kata yang dihasilkan dengan konten yang ditampilkan pada gambar di bawah ini:
kesimpulan
Kami mengakhiri posting blog ini di sini dengan harapan bahwa Anda telah belajar cara menggabungkan sel -sel meja di Word dokumen secara terprogram. Selain itu, kami juga telah menulis kode sumber untuk mengimplementasikan penggabungan horizontal dan penggabungan vertikal sel meja. Oleh karena itu, Anda dapat memilih untuk open-source .net Tabel Generator API untuk mengotomatiskan otomatisasi file kata. Pada akhirnya, jangan lupa untuk mengunjungi [dokumentasi] 19 untuk belajar tentang kelas dan metode lebih lanjut. Akhirnya, [fileformat.com] 20 secara konsisten menulis posting blog tutorial tentang topik menarik. Jadi, harap tetap berhubungan untuk pembaruan rutin. Selain itu, Anda dapat mengikuti kami di platform media sosial kami, termasuk [Facebook] 21, [LinkedIn] 22, dan [Twitter] 23.
Kontribusi
Karena [fileformat.words untuk .net] 5 adalah proyek open-source dan tersedia di [GitHub] 24. Jadi, kontribusi dari komunitas sangat dihargai.
Ajukan pertanyaan
Anda dapat memberi tahu kami tentang pertanyaan atau pertanyaan Anda di [forum] kami 25.
faq
Bagaimana cara menggabungkan sel dalam dokumen kata? Anda dapat menggabungkan sel -sel meja menggunakan [VerticalMerge] 10 dan [horizontalmerge] 13. Bagaimana cara menggabungkan sel dalam tabel di Doc? Harap ikuti [tautan] 7 ini untuk mempelajari langkah -langkah dan cuplikan kode untuk mencapai fungsi ini.