ดำเนินการผสานแนวนอนหรือการผสานแนวตั้งของเซลล์ตารางอย่างน้อยหนึ่งเซลล์ในไฟล์ DOCS/DOCX FileFormat.words มีวิธีการทำงานกับตารางในไฟล์ Word
ภาพรวม
รุ่นใหม่ของ [fileFormat.words] 2 เสนอวิธีการเพิ่มเติมในการทำงานกับตารางในเอกสาร [Word] 3 [รุ่นก่อนหน้านี้] 4 มีวิธีการสร้างแก้ไขและอ่านคุณสมบัติตารางในขณะที่เวอร์ชันล่าสุดช่วยให้ผู้ใช้รวมเซลล์ตารางในไฟล์ DOCS/DOCX นอกจากนี้คุณสามารถทำ การผสานแนวนอนหรือการผสานแนวตั้ง ของเซลล์ตารางโดยใช้โอเพนซอร์ซ. NET [Library] 5 ยิ่งไปกว่านั้นมันเป็นห้องสมุดที่ใช้งานง่ายซึ่งวิธีการไม่ซับซ้อนและไม่ต้องการการพึ่งพาของบุคคลที่สาม ในโพสต์บล็อกนี้เราจะเรียนรู้วิธีการรวมเซลล์ตารางในเอกสาร Word ดังนั้นให้เริ่มกระบวนการติดตั้งและเริ่มเขียนซอร์สโค้ด เราจะครอบคลุมหัวข้อต่อไปนี้ในบทความนี้:
การติดตั้ง Table Generator API
กรุณาเยี่ยมชม [ลิงก์] 8 สำหรับข้อมูลโดยละเอียดเกี่ยวกับการติดตั้ง เพียงแค่ CAP อีกครั้งกระบวนการติดตั้งของ. NET API ฟรีนี้ค่อนข้างง่าย คุณสามารถดาวน์โหลด [NuGet Package] 9 หรือเรียกใช้คำสั่งต่อไปนี้ใน Nuget Package Manager:
Install-Package FileFormat.Words
วิธีการรวมเซลล์ตารางในเอกสาร Word
เราจะเขียนตัวอย่างโค้ดเพื่อให้ได้การผสานแนวนอนและการผสานในแนวตั้งของเซลล์ตาราง เพื่อจุดประสงค์นั้นเราจะใช้คลาสและวิธีการที่เปิดเผย กรุณาเยี่ยมชมคู่มือนี้เพื่อเรียนรู้วิธีสร้างตารางในเอกสาร Word โดยใช้ fileFormat.words ดังนั้นเราจะใช้คลาสและวิธีการเพิ่มเติมในตัวอย่างรหัสของเรา:
- สร้างวัตถุของคลาส [VerticalMerge] 10
- [Mergerestart] 11 คุณสมบัติใช้เพื่อระบุว่าองค์ประกอบจะเริ่มต้นภูมิภาคที่ผสานในแนวตั้งใหม่ในตาราง
- เรียกใช้ [ผนวก] 12 วิธีการแนบวัตถุแนวตั้งกับวัตถุ TBLCELLPROPS
- อินสแตนซ์อินสแตนซ์ของ [HorizontalMerge] 13 คลาส
- [Mergerestart] 14 คุณสมบัติใช้เพื่อระบุว่าองค์ประกอบจะต้องเริ่มต้นภูมิภาคที่ผสานในแนวนอนใหม่ในตาราง
- เรียกเมธอด [ต่อท้าย] 15 เพื่อแนบวัตถุแนวนอนกับวัตถุ TBLCELLPROPS
- [Mergecontinue] 16 คุณสมบัติใช้เพื่อระบุว่าองค์ประกอบจะต้องสิ้นสุดภูมิภาคที่ผสานในแนวนอนในตาราง
- [Mergecontinue] 17 คุณสมบัติใช้เพื่อระบุว่าองค์ประกอบจะสิ้นสุดภูมิภาคที่ผสานในแนวตั้งในตาราง
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");
}
}
}
}
คัดลอกและวางเซ็กเมนต์รหัสด้านบนลงในไฟล์หลักของคุณและเรียกใช้ คุณจะเห็นไฟล์คำที่สร้างขึ้นด้วยเนื้อหาที่แสดงในภาพด้านล่าง:
บทสรุป
เรากำลังสิ้นสุดการโพสต์บล็อกนี้ที่นี่ด้วยความหวังว่าคุณได้เรียนรู้วิธีการรวมเซลล์ตารางในเอกสารคำ โดยทางโปรแกรม นอกจากนี้เรายังได้เขียนซอร์สโค้ดเพื่อใช้การผสานแนวนอนและการผสานแนวตั้งของเซลล์ตาราง ดังนั้นคุณอาจเลือกใช้งาน open-source .net Table Generator API เพื่อทำให้ไฟล์อัตโนมัติเป็นระบบอัตโนมัติ ในท้ายที่สุดอย่าลืมเยี่ยมชม [เอกสาร] 19 เพื่อเรียนรู้เกี่ยวกับชั้นเรียนและวิธีการเพิ่มเติม ในที่สุด [fileFormat.com] 20 กำลังเขียนโพสต์บล็อกการสอนในหัวข้อที่น่าสนใจอย่างต่อเนื่อง ดังนั้นโปรดติดต่อกับการอัปเดตปกติ ยิ่งกว่านั้นคุณสามารถติดตามเราบนแพลตฟอร์มโซเชียลมีเดียของเรารวมถึง [Facebook] 21, [LinkedIn] 22 และ [Twitter] 23
มีส่วนร่วม
เนื่องจาก [fileFormat.words สำหรับ. NET] 5 เป็นโครงการโอเพ่นซอร์สและมีอยู่ใน [GitHub] 24 ดังนั้นการมีส่วนร่วมจากชุมชนจึงได้รับการชื่นชมอย่างมาก
ถามคำถาม
คุณสามารถแจ้งให้เราทราบเกี่ยวกับคำถามหรือคำถามของคุณเกี่ยวกับ [ฟอรัม] ของเรา 25
FAQS
ฉันจะรวมเซลล์ในเอกสารคำได้อย่างไร คุณสามารถรวมเซลล์ตารางโดยใช้ [VerticalMerge] 10 และ [HorizontalMerge] 13 คลาส ฉันจะรวมเซลล์ในตารางใน DOC ได้อย่างไร โปรดติดตาม [ลิงก์] 7 เพื่อเรียนรู้ขั้นตอนและตัวอย่างโค้ดเพื่อให้ได้ฟังก์ชั่นนี้