테이블은 행과 열의 형태로 데이터를 정렬하는 데 사용됩니다. 또한 데이터를 쉽게 보고 분석할 수 있도록 구성하고 요약합니다. MS PowerPoint에서는 프레젠테이션에 표를 삽입할 수도 있습니다. 따라서 이 문서에서는 C#을 사용하여 PowerPoint 프레젠테이션에서 표를 만들고 조작하는 방법을 다룹니다.
- PowerPoint에서 테이블을 만들고 조작하는 C# API
- PowerPoint 프레젠테이션에서 표 만들기
- 프레젠테이션에서 테이블에 액세스
- PowerPoint 테이블의 텍스트 서식 지정
- 테이블의 가로 세로 비율 잠금
PowerPoint에서 테이블을 만들고 조작하는 C# API
PowerPoint 프레젠테이션에서 테이블을 만들고 조작하기 위해 Aspose.Slides for .NET을 사용합니다. API를 사용하면 PowerPoint 및 OpenOffice 문서를 생성, 조작 및 변환할 수 있습니다. API의 DLL을 다운로드하고 프로젝트에 참조를 추가할 수 있습니다. 또한 NuGet을 사용하여 설치할 수 있습니다.
PM> Install-Package Aspose.Slides.NET
C#을 사용하여 PowerPoint 프레젠테이션에서 표 만들기
.NET용 Aspose.Slides를 사용하여 테이블을 만드는 것은 케이크 조각입니다. 다음 단계에서는 C#을 사용하여 PowerPoint 프레젠테이션에서 표를 만드는 방법을 보여줍니다.
- 먼저 Presentation 클래스를 사용하여 새 프레젠테이션을 만들거나 기존 프레젠테이션을 로드합니다.
- 그런 다음 ISlide 개체에 원하는 슬라이드의 참조를 가져옵니다.
- double[] 배열에서 열과 행의 너비와 높이를 각각 정의합니다.
- ISlide.Shapes.AddTable() 메서드를 사용하여 프레젠테이션에 새 테이블을 삽입합니다.
- ITable 개체에서 새로 생성된 테이블의 참조를 가져옵니다.
- 테이블의 행을 반복하는 루프를 만듭니다.
- 테이블의 셀을 반복하는 중첩 루프를 만들고 각 반복에서 다음 작업을 수행합니다.
- ITable.Rows[rowIndex][cellIndex].TextFrame.Text 속성을 사용하여 셀의 텍스트를 설정합니다.
- ICellFormat 개체에 대한 셀 서식의 참조를 가져오고 필요한 경우 셀의 테두리 스타일을 설정합니다.
- 마지막으로 Presentation.Save(String, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.
다음 코드 샘플은 PowerPoint 프레젠테이션에서 표를 만드는 방법을 보여줍니다.
// 프레젠테이션 만들기 또는 로드
Presentation pres = new Presentation();
// 첫 번째 슬라이드 액세스
ISlide sld = pres.Slides[0];
// 너비가 있는 열과 높이가 있는 행 정의
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };
// 슬라이드에 표 모양 추가
ITable tbl = sld.Shapes.AddTable(100, 50, dblCols, dblRows);
// 각 셀의 테두리 형식 및 텍스트 설정
for (int row = 0; row < tbl.Rows.Count; row++)
{
for (int cell = 0; cell < tbl.Rows[row].Count; cell++)
{
// 셀에 텍스트 추가
tbl.Rows[row][cell].TextFrame.Text = "Cells_" + cell;
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderTop.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderTop.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.FillType = (FillType.Solid);
tbl.Rows[row][cell].CellFormat.BorderBottom.FillFormat.SolidFillColor.Color= Color.Red;
tbl.Rows[row][cell].CellFormat.BorderBottom.Width =5;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderLeft.FillFormat.SolidFillColor.Color =Color.Red;
tbl.Rows[row][cell].CellFormat.BorderLeft.Width = 5;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.FillType = FillType.Solid;
tbl.Rows[row][cell].CellFormat.BorderRight.FillFormat.SolidFillColor.Color = Color.Red;
tbl.Rows[row][cell].CellFormat.BorderRight.Width = 5;
}
}
// PPTX를 디스크에 저장
pres.Save("table.pptx", SaveFormat.Pptx);
다음 스크린샷은 위의 코드를 사용하여 만든 테이블을 보여줍니다.
C#을 사용하여 프레젠테이션의 테이블에 액세스
기존 PowerPoint 프레젠테이션의 표에 액세스하여 필요에 따라 조작할 수도 있습니다. 다음은 프레젠테이션의 테이블에 액세스하는 단계입니다.
- 먼저 Presentation 클래스를 사용하여 기존 프레젠테이션을 로드합니다.
- 그런 다음 ISlide 개체에 원하는 슬라이드의 참조를 가져옵니다.
- ITable의 인스턴스를 만들고 null로 초기화합니다.
- ISlide.Shapes 컬렉션의 모든 IShape 개체를 반복합니다.
- ITable 유형의 모양을 필터링합니다.
- ITable에 모양을 입력하고 필요에 따라 조작하십시오.
- 마지막으로 Presentation.Save(String, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.
다음 코드 샘플은 C#을 사용하여 PowerPoint 프레젠테이션의 테이블에 액세스하는 방법을 보여줍니다.
// 프레젠테이션 로드
using (Presentation pres = new Presentation("UpdateExistingTable.pptx"))
{
// 첫 번째 슬라이드에 액세스
ISlide sld = pres.Slides[0];
// null TableEx 초기화
ITable tbl = null;
// 모양을 반복하고 찾은 테이블에 대한 참조 설정
foreach (IShape shp in sld.Shapes)
if (shp is ITable)
tbl = (ITable)shp;
// 두 번째 행의 첫 번째 열의 텍스트 설정
tbl[0, 1].TextFrame.Text = "New";
//PPTX를 디스크에 쓰기
pres.Save("table1_out.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
}
C#을 사용하여 PowerPoint 테이블의 텍스트 서식 지정
.NET용 Aspose.Slides를 사용하면 아래 단계에서 설명하는 것처럼 테이블의 서식을 아주 쉽게 설정할 수도 있습니다.
- 먼저 Presentation 클래스를 사용하여 기존 프레젠테이션을 로드합니다.
- 그런 다음 ISlide 개체에 원하는 슬라이드의 참조를 가져옵니다.
- 슬라이드에서 ITable 개체로 원하는 테이블의 참조를 검색합니다.
- PortionFormat, ParagraphFormat 및 TextFrameFormat 클래스를 사용하여 서식을 설정합니다.
- ITable.setTextFormat() 메서드를 사용하여 테이블에 서식을 지정합니다.
- 마지막으로 Presentation.Save(String, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.
다음 코드 샘플은 C#을 사용하여 PowerPoint에서 표의 서식을 설정하는 방법을 보여줍니다.
// 프레젠테이션 만들기 또는 로드
Presentation presentation = new Presentation();
// 슬라이드 참조 가져오기
ISlide slide = presentation.Slides[0];
// 테이블 참조 가져오기
ITable someTable = presentation.Slides[0].Shapes[0] as ITable; // let's say that the first shape on the first slide is a table
// 표 셀의 글꼴 높이 설정
PortionFormat portionFormat = new PortionFormat();
portionFormat.FontHeight = 25;
someTable.SetTextFormat(portionFormat);
// 한 번의 호출로 표 셀의 텍스트 정렬 및 오른쪽 여백 설정
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.Alignment = TextAlignment.Right;
paragraphFormat.MarginRight = 20;
someTable.SetTextFormat(paragraphFormat);
// 표 셀의 텍스트 세로 유형 설정
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.TextVerticalType = TextVerticalType.Vertical;
someTable.SetTextFormat(textFrameFormat);
// 프레젠테이션 저장
presentation.Save("result.pptx", SaveFormat.Pptx);
C#을 사용하여 PowerPoint에서 테이블의 가로 세로 비율 잠금
C#을 사용하여 PowerPoint 프레젠테이션에서 표의 가로 세로 비율을 잠글 수도 있습니다. 이를 달성하기 위한 단계는 다음과 같습니다.
- 먼저 Presentation 클래스를 사용하여 기존 프레젠테이션을 로드합니다.
- 그런 다음 ISlide 개체에 원하는 슬라이드의 참조를 가져옵니다.
- 테이블을 생성하거나 기존 테이블의 참조를 ITable 객체로 검색합니다.
- ITable.ShapeLock.AspectRatioLocked 속성을 !ITable.ShapeLock.AspectRatioLocked로 설정하여 종횡비를 잠급니다.
- 마지막으로 Presentation.Save(String, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.
다음 코드 샘플은 PowerPoint 프레젠테이션에서 표의 가로 세로 비율을 잠그는 방법을 보여줍니다.
// 프레젠테이션 로드
using (Presentation pres = new Presentation("presentation.pptx"))
{
// 테이블 참조 가져오기
ITable table = (ITable)pres.Slides[0].Shapes[0];
Console.WriteLine($"가로 세로 비율 잠금 set: {table.ShapeLock.AspectRatioLocked}");
// 가로 세로 비율 잠금
table.ShapeLock.AspectRatioLocked = !table.ShapeLock.AspectRatioLocked; // invert
Console.WriteLine($"가로 세로 비율 잠금 set: {table.ShapeLock.AspectRatioLocked}");
// 프레젠테이션 저장
pres.Save("pres-out.pptx", SaveFormat.Pptx);
}
무료 API 라이선스 받기
무료 임시 라이선스를 얻으면 평가 제한 없이 .NET용 Aspose.Slides를 사용할 수 있습니다.
결론
이 문서에서는 C#을 사용하여 PowerPoint 프레젠테이션에서 표를 만드는 방법을 배웠습니다. 또한 PowerPoint 프레젠테이션의 기존 테이블에 프로그래밍 방식으로 액세스하고 조작하는 방법을 살펴보았습니다. 또한 문서를 방문하여 .NET용 Aspose.Slides에 대해 자세히 알아볼 수 있습니다. 또한 포럼을 통해 질문할 수 있습니다.