C#/VB.NET: Word에서 테이블 만들기

2023-09-27 06:49:36

NuGet을 통해 설치됨

PM> Install-Package Spire.Doc

관련된 링크들

MS Word에서 테이블은 데이터를 행과 열로 구성하고 표시할 수 있으므로 정보를 더 쉽게 이해하고 분석할 수 있습니다. 이 기사에서는 프로그래밍 방식으로 방법을 배웁니다 Spire.Doc for .NET 사용하여 Word 문서에 데이터가 포함된 테이블을 만듭니다.

Spire.Doc for .NET 설치

먼저 Spire.Doc for.NET 패키지에 포함된 DLL 파일을 .NET 프로젝트의 참조로 추가해야 합니다. DLL 파일은 이 링크에서 다운로드하거나 NuGet을 통해 설치할 수 있습니다.

PM> Install-Package Spire.Doc

Word에서 간단한 표 만들기

다음은 Word에서 테이블을 만들고 서식을 지정하기 위해 Spire.Doc for .NET에서 제공하는 핵심 클래스와 메서드 중 일부입니다.

이름 설명
테이블 클래스 Word 문서의 테이블을 나타냅니다.
TableRow 클래스 테이블의 행을 나타냅니다.
TableCell 클래스 테이블의 특정 셀을 나타냅니다.
Section.AddTbale() 메서드 지정된 섹션에 새 테이블을 추가합니다.
Table.ResetCells() 메서드 행 번호와 열 번호를 재설정합니다.
Table.Rows 속성 테이블 행을 가져옵니다.
TableRow.Height 속성 지정된 행의 높이를 설정합니다.
TableRow.Cells 속성 셀 컬렉션을 반환합니다.
TableRow.RowFormat 속성 지정된 행의 형식을 가져옵니다.

자세한 단계는 다음과 같습니다

  • Document 개체를 만들고 여기에 섹션을 추가합니다.
  • 헤더 행과 다른 행에 대한 데이터를 준비하여 각각 1차원 문자열 배열과 2차원 문자열 배열에 저장합니다.
  • Section.AddTable() 메서드를 사용하여 섹션에 테이블을 추가합니다.
  • 머리글 행에 데이터를 삽입하고 행 높이, 배경색, 텍스트 정렬을 포함한 행 서식을 설정합니다.
  • 나머지 행에 데이터를 삽입하고 해당 행에 서식을 적용합니다.
  • Document.SaveToFile() 메서드를 사용하여 문서를 다른 파일에 저장합니다.
  • C#
  • VB.NET
using System;
    using System.Drawing;
    using Spire.Doc;
    using Spire.Doc.Documents;
    using Spire.Doc.Fields;
    
    namespace WordTable
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document object
                Document doc = new Document();
                //Add a section
                Section s = doc.AddSection();
    
                //Define the data for the table
                String[] Header = { "Date", "Description", "Country", "On Hands", "On Order" };
                String[][] data = {
                                      new String[]{ "08/07/2021","Dive kayak","United States","24","16"},
                                      new String[]{ "08/07/2021","Underwater Diver Vehicle","United States","5","3"},
                                      new String[]{ "08/07/2021","Regulator System","Czech Republic","165","216"},
                                      new String[]{ "08/08/2021","Second Stage Regulator","United States","98","88"},
                                      new String[]{ "08/08/2021","Personal Dive Sonar","United States","46","45"},
                                      new String[]{ "08/09/2021","Compass Console Mount","United States","211","300"},
                                      new String[]{ "08/09/2021","Regulator System","United Kingdom","166","100"},
                                      new String[]{ "08/10/2021","Alternate Inflation Regulator","United Kingdom","47","43"},
                                  };
                //Add a table
                Table table = s.AddTable(true);
                table.ResetCells(data.Length + 1, Header.Length);
    
                //Set the first row as table header
                TableRow FRow = table.Rows[0];
                FRow.IsHeader = true;
    
                //Set the height and color of the first row
                FRow.Height = 23;
                FRow.RowFormat.BackColor = Color.LightSeaGreen;
                for (int i = 0; i < Header.Length; i++)
                {
                    //Set alignment for cells
                    Paragraph p = FRow.Cells[i].AddParagraph();
                    FRow.Cells[i].CellFormat.VerticalAlignment = VerticalAlignment.Middle;
                    p.Format.HorizontalAlignment = HorizontalAlignment.Center;
    
                    //Set data format
                    TextRange TR = p.AppendText(Header[i]);
                    TR.CharacterFormat.FontName = "Calibri";
                    TR.CharacterFormat.FontSize = 12;
                    TR.CharacterFormat.Bold = true;
                }
    
                //Add data to the rest of rows and set cell format
                for (int r = 0; r < data.Length; r++)
                {
                    TableRow DataRow = table.Rows[r + 1];
                    DataRow.Height = 20;
                    for (int c = 0; c < data[r].Length; c++)
                    {
                        DataRow.Cells[c].CellFormat.VerticalAlignment = VerticalAlignment.Middle;
                        Paragraph p2 = DataRow.Cells[c].AddParagraph();
                        TextRange TR2 = p2.AppendText(data[r][c]);
                        p2.Format.HorizontalAlignment = HorizontalAlignment.Center;
    
                        //Set data format
                        TR2.CharacterFormat.FontName = "Calibri";
                        TR2.CharacterFormat.FontSize = 11;
                    }
                }
    
                //Save the document
                doc.SaveToFile("WordTable.docx", FileFormat.Docx2013);
            }
        }
    }

C#/VB.NET: Create a Table in Word

임시 라이센스 신청

생성된 문서에서 평가 메시지를 제거하고 싶거나, 기능 제한을 없애고 싶다면 30일 평가판 라이센스 요청 자신을 위해.

또한보십시오