C#을 사용하여 Word에서 테이블 만들기 | C#에서 중첩 테이블 만들기

Word 문서의 표는 데이터를 명확하고 구조화된 형식으로 구성하고 표시하기 위한 강력한 도구입니다. 테이블은 행과 열로 구성되며, 이는 교차하여 텍스트, 숫자, 이미지 또는 기타 요소를 포함할 수 있는 셀을 형성합니다. 이 기사에서는 C#을 사용하여 프로그래밍 방식으로 Word 문서에 표를 만드는 방법을 알아봅니다. 이 문서에서는 코드 샘플에서 지원되는 DOCX 파일에 테이블을 만드는 다양한 방법을 보여줍니다.

이 문서에서는 다음 주제를 다룹니다.

Word 문서에서 테이블을 생성하는 C# 라이브러리

Word 문서의 테이블 작업을 위해 Aspose.Words for .NET 라이브러리를 사용합니다. 이는 .NET 응용 프로그램 내에서 직접 프로그래밍 방식으로 Word 문서를 동적으로 생성하고 조작할 수 있는 강력한 라이브러리입니다.

DLL을 다운로드하거나 다음 명령을 사용하여 NuGet에서 설치하십시오.

PM> Install-Package Aspose.Words

C#의 Word 문서에 테이블 만들기

Aspose.Words for .NET를 사용하여 Word 문서에 테이블을 만드는 방법에는 두 가지가 있습니다.

  • DocumentBuilder 클래스 사용
  • DOM(문서 개체 모델) 사용

귀하의 요구 사항에 가장 적합한 방법을 선택할 수 있습니다. 이제 각 방법을 자세히 살펴보겠습니다.

DocumentBuilder를 사용하여 테이블 만들기

DocumentBuilder 클래스를 사용하면 처음부터 동적 문서를 효율적이고 쉽게 생성하거나 기존 문서를 수정할 수 있습니다. 광범위한 기능을 통해 텍스트, 확인란, OLE 개체, 단락, 목록, 표, 이미지 등을 포함한 다양한 콘텐츠 요소를 원활하게 삽입할 수 있습니다.

DocumentBuilder 클래스를 사용하여 Word 문서에 표를 만들려면 아래 단계를 따르세요.

  1. Document 클래스의 객체를 만듭니다.
  2. DocumentBuilder 클래스의 개체를 만듭니다.
  3. StartTable() 메서드를 사용하여 새 테이블을 만듭니다.
  4. InsertCell() 메서드를 사용하여 셀을 삽입합니다.
  5. Write() 메서드를 사용하여 셀에 텍스트를 삽입합니다.
  6. 필요에 따라 셀과 텍스트를 셀에 반복해서 삽입합니다.
  7. EndRow() 메서드를 사용하여 행을 종료합니다.
  8. EndTable() 메서드를 사용하여 테이블을 종료합니다.
  9. 마지막으로 Save() 메서드를 사용하여 Word 문서를 저장합니다.

다음 코드 샘플은 C#을 사용하여 Word 문서에 표를 만드는 방법을 보여줍니다.

// 이 코드 예제에서는 C#을 사용하여 Word 문서에 표를 만드는 방법을 보여줍니다.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// 테이블 만들기를 시작하세요.
builder.StartTable();
builder.InsertCell();
builder.Write("Row 1, Cell 1 Content.");

// 두 번째 셀을 만듭니다.
builder.InsertCell();
builder.Write("Row 1, Cell 2 Content.");

// 행을 종료하고 새 행을 시작하려면 다음 메서드를 호출합니다.
builder.EndRow();

// 두 번째 행의 첫 번째 셀을 만듭니다.
builder.InsertCell();
builder.Write("Row 2, Cell 1 Content");

// 두 번째 셀을 만듭니다.
builder.InsertCell();
builder.Write("Row 2, Cell 2 Content.");
builder.EndRow();

// 테이블 구축이 완료되었음을 알리는 신호입니다.
builder.EndTable();

doc.Save("CreateSimpleTable.docx");
DocumentBuilder를 사용하여 Word에서 표 만들기

DocumentBuilder를 사용하여 테이블 만들기

DOM(문서 개체 모델)을 사용하여 테이블 만들기

DOM(문서 개체 모델)은 Word 문서를 메모리 내 표현한 것입니다. 이를 통해 Word 문서의 내용과 서식을 읽고, 조작하고, 수정할 수 있는 프로그래밍 방식의 액세스가 가능해집니다.

DOM을 사용하여 Word 문서에 테이블을 만들려면 아래 단계를 따르세요.

  1. Document 클래스의 객체를 만듭니다.
  2. Table() 클래스를 사용하여 새 테이블을 만듭니다.
  3. AppendChild() 메서드를 사용하여 문서 본문에 표를 추가합니다.
  4. Row 클래스의 개체를 만들고 Table.AppendChild(Row) 메서드를 사용하여 테이블에 삽입합니다.
  5. Cell 클래스의 객체를 만들고, 서식 옵션을 설정하고, 셀에 텍스트를 추가합니다.
  6. Row.AppendChild(Cell) 메서드를 사용하여 행에 셀을 삽입합니다.
  7. 그런 다음 원하는 만큼 행에 대해 프로세스를 반복합니다.
  8. 마지막으로 Save() 메서드를 사용하여 Word 문서를 저장합니다.

다음 코드 샘플은 C#을 사용하여 Word 문서에 표를 만드는 방법을 보여줍니다.

// 이 코드 예제는 C#에서 DOM을 사용하여 Word 문서에 테이블을 만드는 방법을 보여줍니다.
Document doc = new Document();

// 테이블 객체를 생성하는 것부터 시작합니다. 문서 객체를 전달해야 합니다.
// 각 노드의 생성자에. 이는 우리가 생성하는 모든 노드가 속해야 하기 때문입니다.
// 어떤 문서에.
Table table = new Table(doc);
doc.FirstSection.Body.AppendChild(table);

// 여기서 EnacheMinimum을 호출하여 행과 셀을 생성할 수 있습니다. 이 방법이 사용됩니다
// 지정된 노드가 유효한지 확인합니다. 이 경우 유효한 테이블에는 최소한 하나의 행과 하나의 셀이 있어야 합니다.

// 대신 행과 테이블 생성을 직접 처리하겠습니다.
// 알고리즘 내부에 테이블을 생성하는 경우 이것이 가장 좋은 방법입니다.
Row row = new Row(doc);
row.RowFormat.AllowBreakAcrossPages = true;
table.AppendChild(row);

// 이제 자동 맞춤 설정을 적용할 수 있습니다.
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"));

// 셀 추가
row.AppendChild(cell);

// 그런 다음 테이블의 다른 셀과 행에 대해 프로세스를 반복합니다.
// 기존 셀과 행을 복제하여 작업 속도를 높일 수도 있습니다.
row.AppendChild(cell.Clone(false));
row.LastCell.AppendChild(new Paragraph(doc));
row.LastCell.FirstParagraph.AppendChild(new Run(doc, "Row 1, Cell 2 Text"));

// 문서 저장
doc.Save("InsertTableDirectly.docx");
DOM(문서 개체 모델)을 사용하여 테이블 만들기

DOM(문서 개체 모델)을 사용하여 테이블 만들기

C#을 사용하여 Word 문서에 중첩 테이블 만들기

테이블의 셀 내에 새 테이블을 만들 수도 있습니다. 다음은 Word 문서에서 중첩 표를 만드는 단계입니다.

  1. Document 클래스의 객체를 만듭니다.
  2. DocumentBuilder 클래스의 개체를 만듭니다.
  3. StartTable() 메서드를 사용하여 테이블을 만들고 개체의 테이블에 대한 참조를 가져옵니다.
  4. InsertCell() 메서드를 사용하여 셀을 삽입하고 개체의 셀에 대한 참조를 가져옵니다.
  5. DocumentBuilder.Write() 메서드를 사용하여 셀에 텍스트를 삽입합니다.
  6. 필요에 따라 셀과 텍스트를 셀에 반복해서 삽입합니다.
  7. 모든 행을 삽입한 후 테이블을 종료합니다.
  8. MoveTo(cell.FirstParagraph) 메서드를 사용하여 원하는 셀 내부로 컨트롤을 이동합니다.
  9. 셀을 삽입하여 다른 테이블을 만들고 완료되면 테이블을 종료합니다.
  10. 마지막으로 Save() 메서드를 사용하여 Word 문서를 저장합니다.

다음 코드 샘플은 C#을 사용하여 Word 문서에 중첩 테이블을 만드는 방법을 보여줍니다.

// 이 코드 예제는 C#을 사용하여 Word 문서에 중첩 테이블을 만드는 방법을 보여줍니다.
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");

// 이 호출은 첫 번째 테이블 내에 중첩 테이블을 만드는 데 중요합니다. 
// 이 호출이 없으면 아래에 삽입된 셀이 외부 테이블에 추가됩니다.
builder.EndTable();

// 외부 테이블의 첫 번째 셀로 이동합니다.
builder.MoveTo(cell.FirstParagraph);

// 내부 테이블을 구축합니다.
builder.InsertCell();
builder.Writeln("Inner Table Cell 1");
builder.InsertCell();
builder.Writeln("Inner Table Cell 2");
builder.EndTable();

// 문서 저장
doc.Save("NestedTable.docx");
C#을 사용하여 Word 문서에 중첩 테이블 만들기

C#을 사용하여 Word 문서에 중첩 테이블 만들기

C#의 Word 문서에서 기존 테이블 복제

아래 단계에 따라 Word 문서의 기존 테이블을 복제할 수 있습니다.

  1. Document 클래스를 사용하여 테이블과 함께 기존 문서를 로드합니다.
  2. GetChild(NodeType.TABLE, int, boolean) 메서드를 사용하여 개체의 테이블을 가져옵니다.
  3. Table.Clone(True) 메서드를 사용하여 테이블을 복제합니다.
  4. Table.ParentNode.InsertAfter() 메서드를 사용하여 복제된 테이블을 삽입합니다.
  5. Table.ParentNode.InsertAfter(new Paragraph(Document), Table) 메서드를 사용하여 테이블 사이에 빈 단락을 삽입합니다.
  6. 마지막으로 Save() 메서드를 사용하여 Word 문서를 저장합니다.

다음 코드 샘플은 C#을 사용하여 Word 문서에서 테이블을 복제하는 방법을 보여줍니다.

// 이 코드 예제는 C#을 사용하여 Word 문서의 기존 테이블을 복제하는 방법을 보여줍니다.
Document doc = new Document("Tables.docx");

Table table = (Table) doc.GetChild(NodeType.Table, 0, true);

// 테이블을 복제하여 원본 뒤에 문서에 삽입합니다.
Table tableClone = (Table) table.Clone(true);
table.ParentNode.InsertAfter(tableClone, table);

// 두 테이블 사이에 빈 단락을 삽입하고,
// 그렇지 않으면 저장 시 하나로 결합됩니다. 이는 문서 유효성 검사와 관련이 있습니다.
table.ParentNode.InsertAfter(new Paragraph(doc), table);
            
doc.Save("CloneCompleteTable.docx");
C#의 Word 문서에서 기존 테이블 복제

C#의 Word 문서에서 기존 테이블 복제

HTML에서 Word 문서에 표 만들기

아래 단계에 따라 HTML 문자열을 사용하여 Word 문서에 표를 만들 수도 있습니다.

  1. Document 클래스의 객체를 만듭니다.
  2. DocumentBuilder 클래스의 개체를 만듭니다.
  3. DocumentBuilder.InsertHtml(String) 메서드를 사용하여 테이블의 HTML 문자열을 문서에 삽입합니다.
  4. 마지막으로 Document.Save() 메서드를 사용하여 문서를 저장합니다.

다음 코드 샘플은 C#을 사용하여 Word 문서에 HTML 테이블을 삽입하는 방법을 보여줍니다.

// 이 코드 예제는 C#을 사용하여 Word 문서에 HTML 테이블을 삽입하는 방법을 보여줍니다.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// AutoFitSettings는 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");
HTML에서 Word 문서에 표 만들기

HTML에서 Word 문서에 표 만들기

무료 API 라이선스 받기

평가 제한 없이 Aspose.Words for .NET을 사용하려면 임시 라이센스를 얻을 수 있습니다.

결론

이번 글에서는 C#을 사용하여 Word 문서에서 표를 만드는 방법을 배웠습니다. 우리는 C#을 사용하여 프로그래밍 방식으로 테이블을 생성하는 다양한 방법을 살펴보았습니다. 또한 중첩된 테이블을 생성하거나 Word 문서에서 기존 테이블을 동적으로 복제하는 방법도 살펴보았습니다. 게다가 문서를 사용하여 라이브러리의 다양한 기능을 자세히 알아보고 탐색할 수 있습니다. 모호한 점이 있으면 언제든지 무료 지원 포럼에 문의해 주세요.

또한보십시오