Giới thiệu

Aspose.Cells FOSS for Java là một thư viện Java 17 mã nguồn mở cho phép các nhà phát triển tạo, tải, sửa đổi và lưu các sổ làm việc Excel .xlsx hoàn toàn trên JVM — mà không cần cài đặt Microsoft Office, không cần thư viện gốc, và không phụ thuộc vào runtime thương mại của Aspose. API công cộng nằm trong gói com.aspose.cells_foss và được phát hành dưới giấy phép MIT, làm cho nó phù hợp cho các dự án cá nhân, mã nguồn mở và thương mại.

Thư viện được phát hành dưới dạng một artifact Maven tiêu chuẩn và bao phủ mô hình đối tượng bảng tính OOXML cốt lõi: sổ làm việc, trang tính, ô, kiểu dáng và các bộ sưu tập. Nó được xây dựng với Maven 3.9+ và nhắm tới Java 17+, tích hợp một cách tự nhiên vào bất kỳ pipeline xây dựng Java hiện đại nào.

Thêm phụ thuộc vào pom.xml và bạn đã sẵn sàng để tạo hoặc xử lý các workbook Excel từ servlet, công việc batch, hàm Lambda, hoặc bất kỳ ngữ cảnh máy chủ Java nào khác.


Các tính năng chính

Quản lý Workbook và Worksheet

Lớp Workbook là điểm vào cho tất cả các thao tác bảng tính. Nó triển khai AutoCloseable nên tích hợp sạch sẽ với mẫu try-with-resources. Bạn có thể tạo sổ làm việc mới, tải các tệp .xlsx hiện có, thêm và xóa các worksheet, đổi tên các sheet bằng setName(), đặt sheet hoạt động và kiểm soát hiển thị tab.

import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
import com.aspose.cells_foss.WorksheetCollection;

try (Workbook workbook = new Workbook()) {
    WorksheetCollection sheets = workbook.getWorksheets();
    Worksheet sheet = sheets.get(0);
    sheet.setName("Sales");
    workbook.save("sales.xlsx");
}

Giá trị ô và công thức

Lớp Cell hỗ trợ lưu trữ giá trị có kiểu thông qua putValue() cho chuỗi, số nguyên, số thực, boolean và các giá trị LocalDateTime. Các chuỗi công thức được lưu bằng setFormula() và sẽ được Excel tính lại khi mở. Kiểu giá trị được hiển thị thông qua CellValueTypeSTRING, NUMBER, BOOLEAN, DATE_TIME hoặc FORMULA.

import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);
    Cell a1 = sheet.getCells().get("A1");
    a1.putValue("Revenue");
    Cell b1 = sheet.getCells().get("B1");
    b1.putValue(12500.75);
    Cell c1 = sheet.getCells().get("C1");
    c1.setFormula("=B1*1.2");
    workbook.save("values.xlsx");
}

Định dạng và Kiểu ô

Định dạng được áp dụng thông qua lớp Style, được lấy từ cell.getStyle() và ghi lại bằng cell.setStyle(). Bạn có thể cấu hình in đậm và màu sắc trên Font, áp dụng HorizontalAlignment, và đặt chuỗi định dạng số tùy chỉnh qua style.setCustom(). Chiều cao hàng và độ rộng cột được kiểm soát thông qua getRows().get(n).setHeight()getColumns().get(n).setWidth().

import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);
    Cell cell = sheet.getCells().get("B1");
    cell.putValue(9999.5);
    Style style = cell.getStyle();
    style.getFont().setBold(true);
    style.setCustom("#,##0.00");
    cell.setStyle(style);
    workbook.save("styled.xlsx");
}

Xác thực dữ liệu và Định dạng có điều kiện

Quy tắc xác thực dữ liệu được thêm thông qua sheet.getValidations().add(). Mỗi đối tượng Validation chứa một ValidationType (ví dụ, WHOLE_NUMBER), một OperatorType (ví dụ, BETWEEN), và các chuỗi công thức cho các giới hạn. Định dạng có điều kiện được thêm thông qua sheet.getConditionalFormattings().add(), nó trả về một FormatConditionCollection nơi bạn chỉ định phạm vi ô và các điều kiện.

import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);
    int vi = sheet.getValidations().add(new CellArea(1, 0, 10, 0));
    Validation validation = sheet.getValidations().get(vi);
    validation.setType(ValidationType.WHOLE_NUMBER);
    validation.setOperator(OperatorType.BETWEEN);
    validation.setFormula1("1");
    validation.setFormula2("100");
    workbook.save("validated.xlsx");
}

Bộ lọc tự động và Cài đặt trang

AutoFilters được cấu hình bằng cách gọi ws.getAutoFilter().setRange() với một ký hiệu A1
chuỗi phạm vi. Đối tượng PageSetup kiểm soát kích thước giấy, hướng và vừa trang
cài đặt cho đầu ra sẵn sàng in. Bảo vệ worksheet được áp dụng thông qua protect() với
một WorksheetProtectionModel.


Bắt đầu nhanh

Thêm phụ thuộc Maven vào pom.xml của bạn:

<dependency>
  <groupId>com.aspose</groupId>
  <artifactId>cells-foss</artifactId>
  <version>1.0.0</version>
</dependency>

Tạo một workbook, điền dữ liệu vào các ô, áp dụng định dạng và lưu:

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 QuickStart {
    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");
            Cell cell = sheet.getCells().get("B1");
            cell.putValue(12500.75);

            Style style = cell.getStyle();
            style.getFont().setBold(true);
            style.setCustom("#,##0.00");
            cell.setStyle(style);

            sheet.getCells().getRows().get(0).setHeight(22.0);
            sheet.getCells().getColumns().get(1).setWidth(14.5);

            workbook.save("report.xlsx");
        }
    }
}

Định dạng được hỗ trợ

Định dạngPhần mở rộngĐọcGhi
Excel Open XML.xlsx

Việc lưu hiện tại chỉ giới hạn ở .xlsx. Thư viện lưu trữ và chuyển tiếp công thức, nhưng nó không phải là một công cụ tính toán bảng tính đầy đủ.


Mã nguồn mở & Cấp phép

Aspose.Cells FOSS for Java được phát hành dưới giấy phép MIT. Bạn có thể tự do sử dụng, sửa đổi và phân phối nó trong các dự án cá nhân, mã nguồn mở và thương mại mà không bị hạn chế. Mã nguồn có sẵn tại github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Bắt đầu