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 문서에 표를 만들려면 아래 단계를 따르세요.
- Document 클래스의 객체를 만듭니다.
- DocumentBuilder 클래스의 개체를 만듭니다.
- StartTable() 메서드를 사용하여 새 테이블을 만듭니다.
- InsertCell() 메서드를 사용하여 셀을 삽입합니다.
- Write() 메서드를 사용하여 셀에 텍스트를 삽입합니다.
- 필요에 따라 셀과 텍스트를 셀에 반복해서 삽입합니다.
- EndRow() 메서드를 사용하여 행을 종료합니다.
- EndTable() 메서드를 사용하여 테이블을 종료합니다.
- 마지막으로 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");
DOM(문서 개체 모델)을 사용하여 테이블 만들기
DOM(문서 개체 모델)은 Word 문서를 메모리 내 표현한 것입니다. 이를 통해 Word 문서의 내용과 서식을 읽고, 조작하고, 수정할 수 있는 프로그래밍 방식의 액세스가 가능해집니다.
DOM을 사용하여 Word 문서에 테이블을 만들려면 아래 단계를 따르세요.
- Document 클래스의 객체를 만듭니다.
- Table() 클래스를 사용하여 새 테이블을 만듭니다.
- AppendChild() 메서드를 사용하여 문서 본문에 표를 추가합니다.
- Row 클래스의 개체를 만들고 Table.AppendChild(Row) 메서드를 사용하여 테이블에 삽입합니다.
- Cell 클래스의 객체를 만들고, 서식 옵션을 설정하고, 셀에 텍스트를 추가합니다.
- Row.AppendChild(Cell) 메서드를 사용하여 행에 셀을 삽입합니다.
- 그런 다음 원하는 만큼 행에 대해 프로세스를 반복합니다.
- 마지막으로 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");
C#을 사용하여 Word 문서에 중첩 테이블 만들기
테이블의 셀 내에 새 테이블을 만들 수도 있습니다. 다음은 Word 문서에서 중첩 표를 만드는 단계입니다.
- Document 클래스의 객체를 만듭니다.
- DocumentBuilder 클래스의 개체를 만듭니다.
- StartTable() 메서드를 사용하여 테이블을 만들고 개체의 테이블에 대한 참조를 가져옵니다.
- InsertCell() 메서드를 사용하여 셀을 삽입하고 개체의 셀에 대한 참조를 가져옵니다.
- DocumentBuilder.Write() 메서드를 사용하여 셀에 텍스트를 삽입합니다.
- 필요에 따라 셀과 텍스트를 셀에 반복해서 삽입합니다.
- 모든 행을 삽입한 후 테이블을 종료합니다.
- MoveTo(cell.FirstParagraph) 메서드를 사용하여 원하는 셀 내부로 컨트롤을 이동합니다.
- 셀을 삽입하여 다른 테이블을 만들고 완료되면 테이블을 종료합니다.
- 마지막으로 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 문서에서 기존 테이블 복제
아래 단계에 따라 Word 문서의 기존 테이블을 복제할 수 있습니다.
- Document 클래스를 사용하여 테이블과 함께 기존 문서를 로드합니다.
- GetChild(NodeType.TABLE, int, boolean) 메서드를 사용하여 개체의 테이블을 가져옵니다.
- Table.Clone(True) 메서드를 사용하여 테이블을 복제합니다.
- Table.ParentNode.InsertAfter() 메서드를 사용하여 복제된 테이블을 삽입합니다.
- Table.ParentNode.InsertAfter(new Paragraph(Document), Table) 메서드를 사용하여 테이블 사이에 빈 단락을 삽입합니다.
- 마지막으로 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");
HTML에서 Word 문서에 표 만들기
아래 단계에 따라 HTML 문자열을 사용하여 Word 문서에 표를 만들 수도 있습니다.
- Document 클래스의 객체를 만듭니다.
- DocumentBuilder 클래스의 개체를 만듭니다.
- DocumentBuilder.InsertHtml(String) 메서드를 사용하여 테이블의 HTML 문자열을 문서에 삽입합니다.
- 마지막으로 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");
무료 API 라이선스 받기
평가 제한 없이 Aspose.Words for .NET을 사용하려면 임시 라이센스를 얻을 수 있습니다.
결론
이번 글에서는 C#을 사용하여 Word 문서에서 표를 만드는 방법을 배웠습니다. 우리는 C#을 사용하여 프로그래밍 방식으로 테이블을 생성하는 다양한 방법을 살펴보았습니다. 또한 중첩된 테이블을 생성하거나 Word 문서에서 기존 테이블을 동적으로 복제하는 방법도 살펴보았습니다. 게다가 문서를 사용하여 라이브러리의 다양한 기능을 자세히 알아보고 탐색할 수 있습니다. 모호한 점이 있으면 언제든지 무료 지원 포럼에 문의해 주세요.