문서/DOCX 파일에서 하나 이상의 테이블 셀의 수평 병합 또는 수직 병합을 수행합니다. fileformat.words는 Word 파일에서 테이블을 사용하는 메소드를 제공합니다. {.WP- 블록 헤드}
개요
[fileformat.words] 2의 최신 버전은 [Word] 3 문서에서 테이블로 작업하는 추가 방법을 제공합니다. 이전 [버전] 4에는 테이블 속성을 작성, 편집 및 읽는 방법이 포함되어 있으며 최신 버전을 사용하면 사용자는 문서/DOCX 파일의 테이블 셀을 프로그래밍 방식으로 병합 할 수 있습니다. 또한이 오픈 소스 .NET [라이브러리] 5를 사용하여 테이블 셀의 수평 병합 또는 수직 병합 **를 수행 할 수 있습니다. 또한, 방법이 복잡하지 않고 타사 의존성이 필요하지 않은 사용하기 쉬운 라이브러리입니다. 이 블로그 게시물에서는 Word 문서에서 테이블 셀을 병합하는 방법을 배웁니다. 설치 프로세스를 시작하고 소스 코드 작성을 시작하겠습니다. 이 기사에서 다음 제목을 다룰 것입니다.
테이블 생성기 API 설치
설치에 대한 자세한 정보는이 [링크] 8를 방문하십시오. 다시 캡을하기 위해이 무료 .NET API의 설치 프로세스는 비교적 쉽습니다. 글쎄, [Nuget 패키지] 9를 다운로드하거나 Nuget 패키지 관리자에서 다음 명령을 실행할 수 있습니다.
Install-Package FileFormat.Words
Word 문서에서 테이블 셀을 병합하는 방법
수평 병합 및 테이블 셀의 수직 병합을 달성하기 위해 코드 스 니펫을 작성합니다. 이를 위해 노출 된 클래스와 방법을 사용할 것입니다. Fileformat.words를 사용하여 Word 문서에서 테이블을 만드는 방법을 알아 보려면이 안내서를 방문하십시오. 따라서 코드 스 니펫에서 추가 클래스와 메소드를 사용할 것입니다.
- [verticalmerge] 10 클래스의 객체를 만듭니다.
- [Mergerestart] 11 속성은 요소가 테이블에서 새로운 수직 병합 영역을 시작하도록 지정하는 데 사용됩니다.
- [Append] 12 메소드를 호출하여 TBLCELLPROPS 객체와 함께 verticalMerge 객체를 첨부하십시오.
- [Horizontalmerge] 13 클래스의 인스턴스를 인스턴스화하십시오.
- [Mergerestart] 14 속성은 요소가 표에서 새로운 수평 병합 영역을 시작하도록 지정하는 데 사용됩니다.
- [Append] 15 메소드를 호출하여 tblcellProps 객체와 함께 HorizOntalMerge 객체를 첨부하십시오.
- [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");
}
}
}
}
위의 코드 세그먼트를 기본 파일에 복사하여 붙여 넣고 실행하십시오. 아래 이미지에 표시된 내용으로 생성 된 단어 파일이 표시됩니다.
결론 {.WP- 블록 헤드}
우리는이 블로그 게시물을 끝내고 있습니다. 단어 문서의 테이블 셀을 문서로 병합하는 방법을 배웠기를 희망합니다. 또한 수평 병합 및 테이블 셀의 수직 병합을 구현하기 위해 소스 코드를 작성했습니다. 따라서이 Open-Source .NET 테이블 생성기 API 를 선택하여 Word 파일 자동화를 자동화 할 수 있습니다. 결국, [문서] 19를 방문하여 추가 수업과 방법에 대해 배우는 것을 잊지 마십시오. 마지막으로, [fileformat.com] 20는 흥미로운 주제에 대한 튜토리얼 블로그 게시물을 지속적으로 작성하고 있습니다. 따라서 정기적 인 업데이트를 위해 연락하십시오. 또한 [Facebook] 21, [LinkedIn] 22 및 [Twitter] 23를 포함한 소셜 미디어 플랫폼에서 우리를 따라갈 수 있습니다.
기부 {.WP- 블록 헤드}
[fileformat.words for .net] 5는 오픈 소스 프로젝트이며 [github] 24에서 사용할 수 있습니다. 따라서 커뮤니티의 기여는 대단히 감사합니다.
질문
[포럼] 25에서 귀하의 질문이나 질문에 대해 알려줄 수 있습니다.
faqs
Word 문서에서 셀을 어떻게 병합합니까? [verticalmerge] 10 및 [horizontalmerge] 13 클래스를 사용하여 테이블 셀을 병합 할 수 있습니다. Doc의 테이블에서 셀을 어떻게 병합합니까? 이 기능을 달성하기위한 단계와 코드 스 니펫을 알아 보려면이 [Link] 7를 따라 가십시오.