소개

Aspose.Cells FOSS for Java은 pure-Java 17, MIT-라이선스 라이브러리로, Microsoft Office 의존성 없이 Excel .xlsx 워크북을 생성·조작할 수 있습니다. 이 포스트에서는 가장 일반적인 스프레드시트 관리 작업인 워크북 생성, 파일 로드, 셀 작업, 결과 저장을 단계별로 안내합니다.

빠른 시작

시작하려면 pom.xml에 Maven 의존성을 추가하세요:

<dependency>
  <groupId>org.aspose</groupId>
  <artifactId>aspose-cells-foss</artifactId>
  <version>26.5.0</version>
</dependency>

라이선스 파일이나 API 키가 필요하지 않습니다. 이 라이브러리는 MIT 라이선스 하에 완전 오픈소스입니다.


워크북 만들기

Workbook() 생성자는 기본 시트 하나가 포함된 새 빈 워크북을 생성합니다:

import com.aspose.cells.foss.Workbook;
import com.aspose.cells.foss.Worksheet;

Workbook workbook = new Workbook();
WorksheetCollection sheets = workbook.getWorksheets();
Worksheet sheet = sheets.get(0);
System.out.println(sheet.getName()); // Sheet1

명명된 시트를 추가하려면 WorksheetCollection.add(sheetName)을 사용하고, 시트를 제거하려면 removeAt(sheetName)을 사용하십시오:

int idx = workbook.getWorksheets().add("Report");
workbook.getWorksheets().get(idx).setName("Report");
workbook.getWorksheets().removeAt("Sheet1");

기존 파일 로드

Workbook(fileName)에 파일 경로를 전달하여 기존 .xlsx 워크북을 엽니다:

Workbook workbook = new Workbook("data/report.xlsx");
System.out.println("Sheets: " + workbook.getWorksheets().getCount());

입력 스트림(예: 데이터베이스 또는 HTTP 응답)에는 Workbook(stream)을 사용하십시오:

try (java.io.InputStream is = new java.io.FileInputStream("data/report.xlsx")) {
    Workbook workbook = new Workbook(is);
}

셀 읽기 및 쓰기

Worksheet.getCells()은(는) Cells 컬렉션을 반환합니다. 개별 셀은 이름이나 0부터 시작하는 행/열 인덱스로 접근할 수 있습니다:

import com.aspose.cells.foss.Cells;
import com.aspose.cells.foss.Cell;

WorksheetCollection sheets = workbook.getWorksheets();
Cells cells = sheets.get(0).getCells();

// Write by cell name
cells.get("A1").putValue("Product");
cells.get("B1").putValue("Revenue");

// Write by row/column index
cells.get(1, 0).putValue("Widget A");   // A2
cells.get(1, 1).putValue(45000);        // B2

// Read back
String name = cells.get("A2").getStringValue();
Object rev  = cells.get("B2").getValue();
System.out.println(name + ": " + rev);

수식 설정

셀에 수식 문자열을 저장하려면 Cell.setFormula()를 사용하십시오. 워크북을 저장하고 다시 로드할 때 수식이 평가됩니다:

cells.get("B3").setFormula("=SUM(B2:B2)");
System.out.println(cells.get("B3").getFormula()); // =SUM(B2:B2)

수식 결과는 워크북을 저장하고 다시 로드할 때 해결됩니다.


워크북 저장

Workbook.save(fileName)가 워크북을 기록합니다; 형식은 파일 확장자에 따라 결정됩니다 (.xlsx은 Excel 2007+ 파일을 생성합니다):

workbook.save("output/result.xlsx");

큰 워크북은 항상 try-with-resources로 감싸 파일 핸들을 즉시 해제하도록 하십시오:

try (Workbook workbook = new Workbook("data/input.xlsx")) {
    workbook.getWorksheets().get(0).getCells().get("A1").putValue("Updated");
    workbook.save("data/output.xlsx");
}

다음에 탐색할 내용

Aspose.Cells FOSS for Java는 셀 조작을 넘어 워크시트 수준 작업을 위한 API를 포함합니다:

  • 워크시트 보호: protect() / unprotect() on Worksheet
  • AutoFilter: Worksheet.getAutoFilter() 프로그래밍 방식 데이터 필터링을 위해
  • 셀 스타일: Cell.getStyle() / setStyle() with Style properties
  • 병합된 셀: Cells.merge(firstRow, firstColumn, totalRows, totalColumns)

전체 API 안내를 보려면 developer guideAPI reference를 참고하십시오.

시작하기

위의 예제는 Aspose.Cells FOSS에서 Java를 위한 가장 일반적인 스프레드시트 관리 작업을 다룹니다. 전체 API 안내(검증, 차트 및 서식 포함)를 보려면 developer guide를 참고하십시오.

관련 자료