Aspose.Cells FOSS for Java는 개발자들이 만들 수 있는 순수 자바 17 라이브러리입니다. 로드, 수정 및 저장 Excel .xlsx 워크북을 상업적 Aspose 실행 시간 없이 의존성. com.aspose.cells_foss 패키지 아래의 깨끗한 공개 API를 노출하고, MIT 라이선스 하에 출시되었습니다.
라이브러리는 워크북, ワーク시트, 셀과 같은 핵심 스프레드시트 객체 모델을 포함합니다. 스타일, 컬렉션 지원 기능은 셀 값 (string, number, 부엘어, 날짜/시간 및 공식), 셀 형식 (자문체, 경계선, 채우기, 정렬) 자동 필터, 데이터 검증, 조건형 형식화, 하이퍼링크, 결합된 셀, 정의 된 이름, 페이지 설정 및 워크시트 보호. Aspose.Cells FOSS for Java는 Maven 3.9+로 만들어졌으며, 자바 17+를 목표로 합니다. 하나의 Maven 의존을 통해 프로젝트를 수행합니다. 현재 저장은 .xlsx 형식으로 제한됩니다. 더 고급 기능을 위해 Aspose.Cells commercial edition를 참조하십시오.
new Workbook()로 새로운 워크북을 생성합니다.getWorksheets().get(index) 또는 이름에 의해 워크시트 접근setName()로 워크시트를 변경, 페이지를 추가 및 제거, 활성 시트를 설정WorksheetViewModel를 통해 워크시티의 가시성과 태브 색상을 제어합니다.cell.putValue() 로 셀 값을 설정하고 String, int, double, boolean, LocalDateTime에 적용합니다CellValueType을 통해 값 유형을 읽습니다: STRING, NUMBER, BOOLEAN, DATE_TIME 또는 FORMULAcell.setFormula() 로 수식 문자열을 저장합니다; 값 유형은 FORMULA이 됩니다cell.getStringValue()를 통해 모든 셀 값의 문자열 표현에 접근합니다Style 클래스를 통해 글꼴, 경계선 및 채우기를 적용합니다. cell.getStyle()에서HorizontalAlignment (LEFT, CENTER , RIGHT) 및 AlignmentValue를 통해 제어 정렬style.setCustom() 또는 내장된 NumberFormat 패턴을 사용하여 번호 형식을 설정합니다.getRows().get(n).setHeight()와 getColumns().get(n).setWidth()로 행 높이는 및 열 너비를 조정합니다.ws.getAutoFilter().setRange()로 자동 필터 범위를 설정합니다.FilterColumn 및 AutoFilterCustomFilter를 통해 필터 열과 사용자 정의 필터의 기준을 추가합니다.ValidationType와 OperatorType를 사용하여 데이터 검증 규칙을 정의합니다. sheet.getValidations().add()로FormatConditionCollection 및 FormatCondition를 통해 조건형 형식을 적용합니다.PageSetup로 인쇄 설정을 설정: 종이 크기와 방향, 페이지에 맞게 하는 것, 프린트 영역PrintOptionsModel를 통해 인쇄하기 위한 그리드 라인과 헤딩을 턴글하세요.WorksheetProtectionModel를 사용하여 워크시트 및 정정 권한을 보호합니다.Hyperlink 및 HyperlinkCollection를 통해 힌트 링크를 작업 페이지에 저장합니다.워크북을 만들고, 셀 값과 스타일을 설정하고, 행 및 열 크기를 조정하고 .xlsx 파일을 저장하여 Workbook.save() 를 사용하십시오.
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
public class Main {
public static void main(String[] args) {
try (Workbook workbook = new Workbook()) ```java
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
public class Main {
public static void main(String[] args) {
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.setName("Report");
sheet.getCells().get("A1").putValue("Revenue");
sheet.getCells().get("B1").putValue(12500.75);
Cell total = sheet.getCells().get("B1");
Style style = total.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
total.setStyle(style);
sheet.getCells().getRows().get(0).setHeight(22.0);
sheet.getCells().getColumns().get(1).setWidth(14.5);
workbook.save("report.xlsx");
}
}
}
}
}
기존 .xlsx 파일을 LoadOptions를 사용하여 복구 모드를 활성화한 다음, 검사합니다
수정된 워크북을 저장하기 전에 로드 진단을 확인합니다.
import com.aspose.cells_foss.LoadIssue;
import com.aspose.cells_foss.LoadOptions;
import com.aspose.cells_foss.Workbook;
public class LoadWorkbook {
public static void main(String[] args) {
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());
}
}
workbook.getDocumentProperties().setAuthor("cells-foss");
workbook.save("output.xlsx");
}
}
}
전체 번호 검증 규칙을 추가하고, 하나의 워크북에서 대담한 조건형 형식을 가진 자격을 부여하는 셀들을 강조합니다.
import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.FormatCondition;
import com.aspose.cells_foss.FormatConditionCollection;
import com.aspose.cells_foss.FormatConditionType;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
public class RulesExample {
public static void main(String[] args) {
try (Workbook workbook = new Workbook()) ```java
import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.FormatCondition;
import com.aspose.cells_foss.FormatConditionCollection;
import com.aspose.cells_foss.FormatConditionType;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
public class RulesExample {
public static void main(String[] args) {
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
int vi = sheet.getValidations().add(new CellArea(1, 0, 10, 1));
Validation validation = sheet.getValidations().get(vi);
validation.setType(ValidationType.WHOLE_NUMBER);
validation.setOperator(OperatorType.BETWEEN);
validation.setFormula1("1");
validation.setFormula2("100");
int cfIndex = sheet.getConditionalFormattings().add();
FormatConditionCollection conditions = sheet.getConditionalFormattings().get(cfIndex);
conditions.addArea(CellArea.createCellArea("B2", "B11"));
int condIndex = conditions.addCondition(
FormatConditionType.CELL_VALUE, OperatorType.BETWEEN, "1", "100");
FormatCondition condition = conditions.get(condIndex);
Style style = condition.getStyle();
style.getFont().setBold(true);
condition.setStyle(style);
workbook.save("rules.xlsx");
}
}
}
}
}