소개
Cell 클래스는 Aspose.Cells FOSS for Java의 기본 단위입니다.
이 클래스는 형식이 지정된 값을 저장하고, CellValueType 열거형을 통해 런타임 타입을 노출하며, Excel이 평가할 수 있도록 수식 문자열을 지속하고, getStringValue()을 통해 일관된 문자열 표현을 제공합니다.
이 게시물에서는 검증된 예제를 통해 핵심 셀 API를 자세히 살펴봅니다.
아래 모든 코드 예제는 Maven 종속성을 사용합니다:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
코어 셀 API
putValue()를 사용한 형식화된 값 저장
Cell.putValue()은 여섯 가지 Java 유형을 허용합니다: String, int, double, boolean,
LocalDateTime, 및 Object. 각 호출은 셀의 내부 값을 설정하고 CellValueType을 cell.getType()이 반환하도록 결정합니다.
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.CellValueType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
import java.time.LocalDateTime;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
Cell a1 = sheet.getCells().get("A1");
a1.putValue("Revenue");
assert a1.getType() == CellValueType.STRING;
Cell b1 = sheet.getCells().get("B1");
b1.putValue(42500.75);
assert b1.getType() == CellValueType.NUMBER;
Cell c1 = sheet.getCells().get("C1");
c1.putValue(true);
assert c1.getType() == CellValueType.BOOLEAN;
Cell d1 = sheet.getCells().get("D1");
d1.putValue(LocalDateTime.of(2026, 4, 27, 9, 0, 0));
assert d1.getType() == CellValueType.DATE_TIME;
workbook.save("typed.xlsx");
}
빈 셀은 CellValueType.BLANK을 getType()에서 반환합니다. 정수 값은 putValue(int)와 함께 저장되어 XLSX 직렬화를 통해 라운드 트립하면서 소수점이 추가되지 않으며 — getStringValue()은 "123"을 반환하고 "123.0"은 반환하지 않습니다.
런타임에서 값 검사하기
cell.getValue() 은(는) Object 로 저장된 원시 값을 반환합니다. cell.getStringValue()
하위 처리에 적합한 로케일에 독립적인 문자열 표현을 반환합니다
또는 표시합니다. CellValueType 에 대한 분기는 타입 안전한
값 추출을 위한 권장 패턴입니다:
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.CellValueType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.getCells().get("A1").putValue("Hello");
sheet.getCells().get("B1").putValue(123);
sheet.getCells().get("C1").putValue(true);
sheet.getCells().get("D1").putValue(12.5d);
sheet.getCells().get("G1").setFormula("=B1*2");
Cell b1 = sheet.getCells().get("B1");
if (b1.getType() == CellValueType.NUMBER) {
System.out.println("Number: " + b1.getStringValue());
}
workbook.save("inspect.xlsx");
}
수식 저장소
수식 문자열은 cell.setFormula()와 함께 저장됩니다. 저장된 수식 문자열은=로 시작하며 표준 Excel 수식 구문을 따릅니다. getType() 메서드는CellValueType.FORMULA을 수식 셀에 대해 반환합니다. Aspose.Cells FOSS for Java는
XLSX에서 수식을 저장하고 라운드트립합니다; 수식은 열 때 Excel에 의해 다시 계산됩니다.
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.CellValueType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
Cell b1 = sheet.getCells().get("B1");
b1.putValue(100.0);
Cell c1 = sheet.getCells().get("C1");
c1.setFormula("=B1*1.2");
assert c1.getType() == CellValueType.FORMULA;
workbook.save("formulas.xlsx");
}
XLSX 라운드 트립 충실도
모든 형식화된 값은 XLSX 직렬화 및 재로드 전반에 걸쳐 보존됩니다.
기존 .xlsx 파일을 로드할 때는 new Workbook(path) 또는 new Workbook(path, options)와LoadOptions를 사용하여 복구 모드를 활성화합니다. 재로드 후, getType()와 getStringValue()
는 기록 시와 동일한 값을 반환합니다.
import com.aspose.cells_foss.LoadIssue;
import com.aspose.cells_foss.LoadOptions;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
LoadOptions options = new LoadOptions();
options.setStrictMode(false);
options.setTryRepairPackage(true);
options.setTryRepairXml(true);
try (Workbook workbook = new Workbook("input.xlsx", options)) {
if (workbook.getLoadDiagnostics().hasRepairs()) {
for (LoadIssue issue : workbook.getLoadDiagnostics().getIssues()) {
System.out.println(issue.getMessage());
}
}
Worksheet sheet = workbook.getWorksheets().get(0);
System.out.println(sheet.getCells().get("A1").getStringValue());
workbook.save("output.xlsx");
}
지원되는 형식
| 형식 | 확장자 | 읽기 | 쓰기 |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
오픈 소스 및 라이선스
Aspose.Cells FOSS for Java는 MIT 라이선스로 배포됩니다. 당신은 자유롭게 사용, 수정하고, 개인, 오픈소스 및 상업 프로젝트에서 제한 없이 배포할 수 있습니다. 소스 코드는 github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java에 있습니다.