1. Sản Phẩm
  2.   Aspose.Cells
  3.   Aspose.Cells FOSS for Java

Aspose.Cells FOSS cho Java

Thư viện Java 17 nguồn mở để tạo, tải, sửa đổi và lưu Excel .xlsx sổ làm việc.

Aspose.Cells FOSS — Open Source Java Spreadsheet Thư viện

Aspose.Cells FOSS for Java là một thư viện Java 17 tinh khiết cho phép các nhà phát triển tạo, tải, sửa đổi, và lưu Excel .xlsx sổ làm việc mà không có bất kỳ thời gian làm việc thương mại Aspose Nó tiết lộ một API công cộng sạch sẽ dưới gói com.aspose.cells_foss và được phát hành theo giấy phép MIT.

Thư viện bao gồm mô hình đối tượng bảng phân phối cốt lõi: sổ làm việc, bảng làm việc, tế bào, Các tính năng được hỗ trợ bao gồm các giá trị tế bào (thung, số, boolean, ngày/giờ, và công thức), định dạng tế bào (những nguồn, biên giới, lấp đầy, phù hợp, và định dạng số), AutoFilters, xác thực dữ liệu, định dạng điều kiện, hyperlinks, Các ô kết hợp, tên xác định, thiết lập trang và bảo vệ bảng tính.

Aspose.Cells FOSS for Java được xây dựng với Maven 3.9+ và mục tiêu Java 17+. dự án của bạn thông qua một Maven phụ thuộc duy nhất. để có chức năng nâng cao hơn, hãy tham khảo Aspose.Cells commercial edition. tiết kiệm hiện đang giới hạn trong định dạng .xlsx.

Workbook và Worksheet Management

  • Tạo sổ làm việc mới với Workbook() mới bằng cách sử dụng mô hình try-with-resources
  • Truy cập bảng tính thông qua getWorksheets(.get(index) hoặc bằng tên
  • Rename tabs with setName(), thêm và loại bỏ tabs, thiết lập tab hoạt động
  • Kiểm soát độ hiển thị và màu sắc tab thông qua WorksheetViewModel

Ai sử dụng tính năng này

  • Tạo báo cáo sổ làm việc trong các ứng dụng Java bên máy chủ
  • Tự động hóa nhiều bảng Excel tài liệu tạo trong các ống
  • Xây dựng dòng công việc tạo ra bảng phân phối dựa trên mẫu
  • Chia hoặc kết hợp sổ làm việc theo chương trình mà không có Excel cài đặt

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

  • Thiết lập giá trị ô với cell.putValue() cho String, int, double, boolean, và LocalDateTime
  • Đọc loại giá trị thông qua CellValueType: STRING, NUMBER, BOOLEAN, DATE_TIME, hoặc FORMULA
  • Lưu trữ các dòng công thức với cell.setFormula(); loại giá trị trở thành FORMULA
  • Truy cập một biểu tượng hàng của bất kỳ giá trị ô nào thông qua cell.getStringValue()

Ai sử dụng tính năng này

  • Bảng dữ liệu phổ biến và mô hình tài chính trong bảng phát máy chủ
  • Viết các trường được tính toán mà Excel sẽ đánh giá lại khi mở
  • Đọc và chuyển đổi dữ liệu tế bào cho việc xử lý downstream
  • Xây dựng xuất dữ liệu kiểu từ các đối tượng miền Java

Cell Formatting và Phong cách

  • Ứng dụng các phông chữ, giới hạn, và lấp đầy thông qua lớp Style từ cell.getStyle()
  • Điều khiển bằng cách điều chỉnh ngang (LEFT, CENTER, RIGHT) và AlignmentValue
  • Thiết lập định dạng số bằng cách sử dụng style.setCustom() hoặc mô hình NumberFormat tích hợp
  • Thay đổi chiều cao hàng và chiều rộng cột với getRows(.get(n).setHeight() và getColumns(.get(n).setWidth()

Ai sử dụng tính năng này

  • Tạo báo cáo định dạng chuyên nghiệp mà không có Excel trên máy chủ
  • Tăng cường dữ liệu với các phông chữ dũng cảm và định dạng số tùy chỉnh
  • Bảo đảm chiều rộng cột phù hợp với dữ liệu xuất khẩu mà không cần điều chỉnh thủ công
  • Ứng dụng các phong cách thương hiệu liên tục trên các bảng tính được tạo ra

AutoFilter, Validation và Conditional Formatting

  • Thiết lập phạm vi AutoFilter với ws.getAutoFilter().setRange()
  • Thêm cột lọc và tiêu chí lọc tùy chỉnh thông qua FilterColumn và AutoFilterCustomFilter
  • Định nghĩa các quy tắc xác thực dữ liệu bằng cách sử dụng ValidationType và OperatorType với sheet.getValidations().add()
  • Ứng dụng định dạng điều kiện thông qua FormatConditionCollection và FormatCondition

Ai sử dụng tính năng này

  • Xây dựng bảng dữ liệu tương tác nơi người dùng cuối áp dụng bộ lọc trong Excel
  • Thực hiện các hạn chế nhập số hoặc dựa trên danh sách trong bảng chia sẻ
  • Tăng cường giá trị ngoài phạm vi tự động với các quy tắc màu điều kiện
  • Tạo bảng tính kiểm toán sẵn sàng với các quy tắc chất lượng dữ liệu có thể nhìn thấy

Thiết lập trang và bảo vệ bảng tính

  • Thiết lập cài đặt in với PageSetup: kích thước giấy, định hướng, phù hợp với trang, khu vực in
  • Kết hợp các đường dây và tiêu đề để in thông qua PrintOptionsModel
  • Bảo vệ các bảng tính và các giấy phép tinh khiết bằng cách sử dụng WorksheetProtectionModel
  • Lưu trữ hyperlink trong bảng tính thông qua Hyperlink và HyperlinkCollection

Ai sử dụng tính năng này

  • Tạo hóa đơn và báo cáo sẵn sàng in từ các dịch vụ backend Java
  • Khóa các tế bào công thức trong khi cho phép dữ liệu nhập vào các phạm vi không được bảo vệ
  • Nhúng các liên kết di chuyển giữa các trang trong sổ làm việc được tạo ra
  • Tạo một kết quả tiêu chuẩn mà in đúng cách mà không cần thiết lập trang thủ công

Tạo một sổ làm việc, viết giá trị, và tiết kiệm

Tạo sổ làm việc, đặt giá trị và phong cách ô, điều chỉnh chiều cao hàng và cột, và lưu vào tệp .xlsx bằng cách sử dụng 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()) {
            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");
        }
    }
}

Tải sổ làm việc với chẩn đoán

Tải một tệp .xlsx hiện có bằng cách sử dụng LoadOptions để bật chế độ sửa chữa, sau đó kiểm tra chẩn đoán tải trước khi tiết kiệm sổ làm việc được sửa đổi.

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");
        }
    }
}

Kiểm tra dữ liệu và định dạng điều kiện

Thêm một quy tắc xác thực toàn số và nhấn mạnh các tế bào đủ điều kiện với định dạng điều kiện dũng cảm trong một sổ làm việc duy nhất.

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");
        }
    }
}
  

Tài Nguyên Hỗ Trợ và Học Tập

 Tiếng Việt