테이블은 행과 열의 형태로 데이터를 잘 구성하는 데 사용됩니다. 또한 보고 분석할 데이터를 쉽게 요약합니다. MS PowerPoint를 사용하면 발표자가 프레젠테이션에서 표를 만들 수도 있습니다. 따라서 이 기사에서는 Java를 사용하여 PowerPoint 프레젠테이션에서 표를 만들고 조작하는 방법을 배웁니다.
- PowerPoint에서 테이블을 만들고 조작하는 Java API
- PowerPoint 프레젠테이션에서 표 만들기
- Java를 사용하여 프레젠테이션의 테이블에 액세스
- PowerPoint 테이블의 텍스트 서식 지정
- 테이블의 가로 세로 비율 잠금
PowerPoint에서 테이블을 만들고 조작하는 Java API
PowerPoint 프레젠테이션에서 테이블을 만들고 조작하기 위해 Aspose.Slides for Java를 사용합니다. API는 PowerPoint 및 OpenOffice 프레젠테이션을 생성, 조작 및 변환하도록 설계되었습니다. API의 JAR을 다운로드하거나 다음 Maven 구성을 사용하여 설치할 수 있습니다.
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-slides</artifactId>
<version>21.8</version>
<classifier>jdk16</classifier>
</dependency>
Java를 사용하여 PowerPoint 프레젠테이션에서 표 만들기
Java용 Aspose.Slides를 사용하여 테이블을 만드는 것은 파이만큼 쉽습니다. 다음 단계는 Java를 사용하여 PowerPoint 프레젠테이션에서 처음부터 표를 만드는 방법을 보여줍니다.
- 먼저 Presentation 클래스를 사용하여 새 프레젠테이션을 만들거나 기존 프레젠테이션을 로드합니다.
- 그런 다음 ISlide 개체에 원하는 슬라이드의 참조를 가져옵니다.
- double[] 배열에서 열과 행의 너비와 높이를 각각 정의합니다.
- ISlide.getShapes().addTable(float, float, double[], double[]) 메서드를 사용하여 프레젠테이션에 새 테이블을 삽입합니다.
- ITable 개체에서 새로 생성된 테이블의 참조를 가져옵니다.
- 테이블의 행을 반복하는 루프를 만듭니다.
- 테이블의 셀을 반복하는 중첩 루프를 만들고 각 반복에서 다음 작업을 수행합니다.
- ITable.getRows().get_Item(rowIndex).get_Item(cellIndex).getTextFrame().setText(String) 메서드를 사용하여 셀의 텍스트를 설정합니다.
- ICellFormat 개체에 대한 셀 서식의 참조를 가져옵니다.
- 필요한 경우 셀의 테두리 스타일을 설정합니다.
- 마지막으로 Presentation.save(String, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.
다음 코드 샘플은 PowerPoint 프레젠테이션에서 표를 만드는 방법을 보여줍니다.
// 프레젠테이션 만들기 또는 로드
Presentation pres = new Presentation();
try {
// 첫 번째 슬라이드 액세스
ISlide sld = pres.getSlides().get_Item(0);
// 너비가 있는 열과 높이가 있는 행 정의
double[] dblCols = { 50, 50, 50 };
double[] dblRows = { 50, 30, 30, 30, 30 };
// 슬라이드에 표 모양 추가
ITable tbl = sld.getShapes().addTable(100, 50, dblCols, dblRows);
// 각 셀의 텍스트 및 테두리 형식 설정
for (int row = 0; row < tbl.getRows().size(); row++) {
for (int cell = 0; cell < tbl.getRows().get_Item(row).size(); cell++) {
// 텍스트 설정
tbl.getRows().get_Item(row).get_Item(cell).getTextFrame().setText("Cell_" + cell);
// 테두리 설정
ICellFormat cellFormat = tbl.getRows().get_Item(row).get_Item(cell).getCellFormat();
cellFormat.getBorderTop().getFillFormat().setFillType(FillType.Solid);
cellFormat.getBorderTop().getFillFormat().getSolidFillColor().setColor(Color.RED);
cellFormat.getBorderTop().setWidth(5);
cellFormat.getBorderBottom().getFillFormat().setFillType(FillType.Solid);
cellFormat.getBorderBottom().getFillFormat().getSolidFillColor().setColor(Color.RED);
cellFormat.getBorderBottom().setWidth(5);
cellFormat.getBorderLeft().getFillFormat().setFillType(FillType.Solid);
cellFormat.getBorderLeft().getFillFormat().getSolidFillColor().setColor(Color.RED);
cellFormat.getBorderLeft().setWidth(5);
cellFormat.getBorderRight().getFillFormat().setFillType(FillType.Solid);
cellFormat.getBorderRight().getFillFormat().getSolidFillColor().setColor(Color.RED);
cellFormat.getBorderRight().setWidth(5);
}
}
// PPTX를 디스크에 저장
pres.save("table.pptx", SaveFormat.Pptx);
} finally {
if (pres != null)
pres.dispose();
}
다음 스크린샷은 위의 코드를 사용하여 만든 테이블을 보여줍니다.
Java를 사용하여 프레젠테이션의 테이블에 액세스
기존 PowerPoint 프레젠테이션의 표에 액세스하여 필요에 따라 조작할 수도 있습니다. 다음은 프레젠테이션의 테이블에 액세스하는 단계입니다.
- 먼저 Presentation 클래스를 사용하여 기존 프레젠테이션을 로드합니다.
- 그런 다음 ISlide 개체에 원하는 슬라이드의 참조를 가져옵니다.
- ITable의 인스턴스를 만들고 null로 초기화합니다.
- ISlide.getShapes() 컬렉션의 모든 IShape 객체를 반복합니다.
- ITable 유형의 모양을 필터링합니다.
- ITable에 모양을 입력하고 필요에 따라 조작하십시오.
- 마지막으로 Presentation.save(String, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.
다음 코드 샘플은 Java를 사용하여 PowerPoint 프레젠테이션의 테이블에 액세스하는 방법을 보여줍니다.
// 프레젠테이션 만들기 또는 로드
Presentation pres = new Presentation("UpdateExistingTable.pptx");
try {
// 첫 번째 슬라이드에 액세스
ISlide sld = pres.getSlides().get_Item(0);
// ITable 초기화
ITable tbl = null;
// 모양을 반복하고 찾은 테이블에 대한 참조 가져오기
for (IShape shp : sld.getShapes())
{
if (shp instanceof ITable)
{
tbl = (ITable) shp;
// 두 번째 행의 첫 번째 열의 텍스트 설정
tbl.get_Item(0, 1).getTextFrame().setText("New");
}
}
// 디스크에 PPTX 쓰기
pres.save("table1_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Java를 사용하여 PowerPoint 테이블의 텍스트 서식 지정
또한 Aspose.Slides for Java를 사용하면 아래 단계에서 설명하는 것처럼 테이블 형식을 아주 쉽게 설정할 수 있습니다.
- 먼저 Presentation 클래스를 사용하여 기존 프레젠테이션을 로드합니다.
- 그런 다음 ISlide 개체에 원하는 슬라이드의 참조를 가져옵니다.
- 슬라이드에서 ITable 클래스의 인스턴스로 원하는 테이블의 참조를 검색합니다.
- PortionFormat, ParagraphFormat 및 TextFrameFormat 클래스를 사용하여 서식을 설정합니다.
- ITable.setTextFormat() 메서드를 사용하여 테이블에 서식을 지정합니다.
- 마지막으로 Presentation.save(String, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.
다음 코드 샘플은 Java를 사용하여 PowerPoint에서 표의 서식을 설정하는 방법을 보여줍니다.
// 프레젠테이션 로드
Presentation pres = new Presentation("simpletable.pptx");
try {
// 테이블 참조 가져오기
ITable someTable = (ITable) pres.getSlides().get_Item(0).getShapes().get_Item(0);
// 표 셀의 글꼴 높이 설정
PortionFormat portionFormat = new PortionFormat();
portionFormat.setFontHeight(25);
someTable.setTextFormat(portionFormat);
// 한 번의 호출로 표 셀의 텍스트 정렬 및 오른쪽 여백 설정
ParagraphFormat paragraphFormat = new ParagraphFormat();
paragraphFormat.setAlignment(TextAlignment.Right);
paragraphFormat.setMarginRight(20);
someTable.setTextFormat(paragraphFormat);
// 표 셀의 텍스트 세로 유형 설정
TextFrameFormat textFrameFormat = new TextFrameFormat();
textFrameFormat.setTextVerticalType(TextVerticalType.Vertical);
someTable.setTextFormat(textFrameFormat);
// 프레젠테이션 저장
pres.save("result.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Java를 사용하여 PowerPoint에서 테이블의 가로 세로 비율 잠금
Java를 사용하여 PowerPoint 프레젠테이션에서 표의 가로 세로 비율을 잠글 수도 있습니다. 이를 달성하기 위한 단계는 다음과 같습니다.
- 먼저 Presentation 클래스를 사용하여 기존 프레젠테이션을 로드합니다.
- 원하는 슬라이드의 참조를 ISlide 개체로 가져옵니다.
- 테이블을 생성하거나 기존 테이블의 참조를 ITable 개체로 검색합니다.
- ITable.getGraphicalObjectLock().setAspectRatioLocked(!ITable.getGraphicalObjectLock().getAspectRatioLocked()) 메서드를 사용하여 종횡비를 잠급니다.
- 마지막으로 Presentation.save(String, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.
다음 코드 샘플은 PowerPoint 프레젠테이션에서 표의 가로 세로 비율을 잠그는 방법을 보여줍니다.
// 프레젠테이션 로드
Presentation pres = new Presentation("pres.pptx");
try {
// 테이블 참조 가져오기
ITable table = (ITable)pres.getSlides().get_Item(0).getShapes().get_Item(0);
System.out.println("가로 세로 비율 잠금 set: " + table.getGraphicalObjectLock().getAspectRatioLocked());
// 가로 세로 비율 잠금
table.getGraphicalObjectLock().setAspectRatioLocked(!table.getGraphicalObjectLock().getAspectRatioLocked()); // invert
System.out.println("가로 세로 비율 잠금 set: " + table.getGraphicalObjectLock().getAspectRatioLocked());
// 프레젠테이션 저장
pres.save("pres-out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
무료 API 라이선스 받기
무료 임시 라이선스를 얻으면 평가 제한 없이 Java용 Aspose.Slides를 사용할 수 있습니다.
결론
이 기사에서는 Java를 사용하여 PowerPoint 프레젠테이션에서 표를 만드는 방법을 배웠습니다. 또한 테이블에 액세스하고 프로그래밍 방식으로 형식 및 종횡비를 설정하는 방법을 살펴보았습니다. 또한 문서를 방문하여 Java용 Aspose.Slides에 대해 자세히 알아볼 수 있습니다. 또한 포럼을 통해 질문할 수 있습니다.