Giới thiệu

Aspose.Cells FOSS for Java cung cấp một bộ khả năng bảng tính toàn diện cho các ứng dụng Java 17. Được phát hành dưới giấy phép MIT và phân phối dưới dạng artifact Maven tiêu chuẩn, thư viện bao phủ mọi thứ từ việc tạo workbook cơ bản đến các giá trị ô có kiểu, định dạng phong phú, xác thực dữ liệu và AutoFilter — tất cả mà không cần phụ thuộc vào Microsoft Office.

Bài viết này hướng dẫn qua các khu vực tính năng chính với các ví dụ mã tập trung được rút ra từ
bề mặt API đã được xác minh. Tất cả các tên lớp và phương thức được hiển thị bên dưới tồn tại trong thư viện
và có sẵn trong phiên bản 1.0.0.


Tính năng chính

Quản lý Workbook và Worksheet

Lớp Workbook triển khai AutoCloseable nên nó tích hợp một cách sạch sẽ với mẫu Java try-with-resources.
Bạn có thể tạo một workbook trống, tải một tệp
.xlsx hiện có, đổi tên các worksheet, thêm hoặc xóa các sheet, đặ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;

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);
    sheet.setName("Q1 Report");
    workbook.getWorksheets().addSheet("Summary");
    workbook.save("report.xlsx");
}

Giá trị ô đã nhập và công thức

Lớp Cell chấp nhận các giá trị có kiểu thông qua putValue() cho String, int, double, booleanLocalDateTime. Phương thức getType() trả về một giá trị enum CellValueTypeSTRING, NUMBER, BOOLEAN, DATE_TIME hoặc FORMULA — giúp dễ dàng phân nhánh dựa trên kiểu giá trị mà không cần phân tích chuỗi. Các chuỗi công thức được lưu trữ với setFormula() và sẽ được Excel tính lại khi mở.

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 a1 = sheet.getCells().get("A1");
    a1.putValue("Revenue");
    Cell b1 = sheet.getCells().get("B1");
    b1.putValue(42500.00);
    Cell c1 = sheet.getCells().get("C1");
    c1.setFormula("=B1*1.2");
    // Check type
    assert b1.getType() == CellValueType.NUMBER;
    assert c1.getType() == CellValueType.FORMULA;
    workbook.save("values.xlsx");
}

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

Định dạng được áp dụng thông qua đối tượng Style được lấy từ cell.getStyle() và ghi lại bằng cell.setStyle(). Đối tượng con Font tiết lộ setBold()setColor(). HorizontalAlignment kiểm soát căn chỉnh văn bản — LEFT, CENTER hoặc RIGHT. Định dạng số tùy chỉnh sử dụng chuỗi định dạng Excel qua style.setCustom(). Chiều cao hàng và độ rộng cột được điều chỉnh thông qua getRows().get(n).setHeight()getColumns().get(n).setWidth().

import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Style;
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.50);
    Style style = cell.getStyle();
    style.getFont().setBold(true);
    style.setCustom("#,##0.00");
    cell.setStyle(style);
    sheet.getCells().getRows().get(0).setHeight(24.0);
    sheet.getCells().getColumns().get(1).setWidth(16.0);
    workbook.save("styled.xlsx");
}

Xác thực dữ liệu

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 nhận một ValidationType (ví dụ: WHOLE_NUMBER, DECIMAL, LIST) và một OperatorType (ví dụ: BETWEEN, GREATER_THAN). Các giới hạn công thức được lưu dưới dạng chuỗi qua setFormula1()setFormula2().

import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
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

AutoFilters cho phép người dùng cuối lọc dữ liệu trong Excel một cách tương tác mà không cần bất kỳ
cấu hình bổ sung nào. Gọi ws.getAutoFilter().setRange() với một phạm vi theo ký hiệu A1 để
bật hàng tiêu đề bộ lọc. Các cột bộ lọc bổ sung và tiêu chí tùy chỉnh có thể
được định nghĩa thông qua FilterColumnAutoFilterCustomFilter.

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("Product");
    sheet.getCells().get("B1").putValue("Qty");
    sheet.getAutoFilter().setRange("A1:B1");
    workbook.save("filtered.xlsx");
}

Cài đặt Trang và Bảo vệ Bảng tính

Lớp PageSetup kiểm soát kích thước giấy, hướng trang và cài đặt vừa trang cho đầu ra sẵn sàng in. Bảo vệ bảng tính được áp dụng qua protect() với một WorksheetProtectionModel, cho phép các ô cụ thể vẫn có thể chỉnh sửa trong khi khóa phần còn lại. Siêu liên kết được quản lý qua HyperlinkCollection.


Bắt đầu nhanh

Thêm phụ thuộc 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 với tất cả các tính năng chính trong dưới 20 dòng:

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("Sales");
            sheet.getCells().get("A1").putValue("Revenue");
            Cell b1 = sheet.getCells().get("B1");
            b1.putValue(42500.00);
            Style style = b1.getStyle();
            style.getFont().setBold(true);
            style.setCustom("#,##0.00");
            b1.setStyle(style);
            sheet.getAutoFilter().setRange("A1:B1");
            workbook.save("sales.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 không hoạt động như 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, chỉnh sửa 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 có bất kỳ hạn chế nào. Mã nguồn có sẵn tại github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


Bắt đầu