บทนำ

Aspose.Cells FOSS for Java เป็นไลบรารี Java 17 แบบโอเพนซอร์สที่ช่วยให้นักพัฒนาสามารถสร้าง, โหลด, แก้ไข และบันทึกเวิร์กบุ๊ก Excel .xlsx ได้อย่างสมบูรณ์บน JVM — โดยไม่มีการติดตั้ง Microsoft Office, ไม่มีไลบรารีเนทีฟ, และไม่มีการพึ่งพา runtime เชิงพาณิชย์ของ Aspose. API สาธารณะอยู่ภายใต้แพ็กเกจ com.aspose.cells_foss และเผยแพร่ภายใต้สัญญาอนุญาต MIT ทำให้เหมาะสำหรับโครงการส่วนบุคคล, โอเพนซอร์ส, และเชิงพาณิชย์เช่นกัน.

ไลบรารีจัดจำหน่ายเป็นอาร์ติแฟกต์ Maven มาตรฐานและครอบคลุมโมเดลวัตถุสเปรดชีต OOXML หลัก: เวิร์กบุ๊ก, เวิร์กชีต, เซลล์, สไตล์ และคอลเลกชัน. มันสร้างด้วย Maven 3.9+ และมุ่งเป้าไปที่ Java 17+, ผสานรวมอย่างเป็นธรรมชาติใน pipeline การสร้าง Java สมัยใหม่ใด ๆ.

เพิ่ม dependency ไปยัง pom.xml ของคุณและคุณพร้อมที่จะสร้างหรือประมวลผลสมุดงาน Excel จาก servlet, batch job, ฟังก์ชัน Lambda หรือบริบทฝั่งเซิร์ฟเวอร์ Java ใด ๆ


คุณสมบัติหลัก

การจัดการ Workbook และ Worksheet

คลาส Workbook เป็นจุดเริ่มต้นสำหรับการดำเนินการสเปรดชีตทั้งหมด มัน implements AutoCloseable จึงบูรณาการอย่างสะอาดกับรูปแบบ try-with-resources คุณสามารถสร้างเวิร์กบุ๊กใหม่ โหลดไฟล์ .xlsx ที่มีอยู่แล้ว เพิ่มและลบแผ่นงาน เปลี่ยนชื่อแผ่นด้วย setName() ตั้งค่าแผ่นงานที่ใช้งานอยู่ และควบคุมการมองเห็นแท็บได้

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

ค่าของเซลล์และสูตร

คลาส Cell รองรับการจัดเก็บค่าที่มีประเภทผ่าน putValue() สำหรับสตริง, จำนวนเต็ม, ดับเบิล, บูลีน, และค่าประเภท LocalDateTime. สตริงสูตรจะถูกจัดเก็บด้วย setFormula() และจะถูกคำนวณใหม่โดย Excel เมื่อเปิดไฟล์. ประเภทของค่าจะถูกเปิดเผย ผ่าน CellValueTypeSTRING, NUMBER, BOOLEAN, DATE_TIME หรือ 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");
}

การจัดรูปแบบเซลล์และสไตล์

การจัดรูปแบบถูกนำไปใช้ผ่านคลาส Style ที่ดึงมาจาก cell.getStyle() และเขียนกลับด้วย cell.setStyle() คุณสามารถกำหนดการทำให้เป็นตัวหนาและสีบน Font ใช้ HorizontalAlignment และตั้งค่าสตริงรูปแบบตัวเลขแบบกำหนดเองผ่าน style.setCustom() ความสูงของแถวและความกว้างของคอลัมน์ถูกควบคุมผ่าน 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");
}

การตรวจสอบข้อมูลและการจัดรูปแบบตามเงื่อนไข

กฎการตรวจสอบข้อมูลจะถูกเพิ่มผ่าน sheet.getValidations().add(). แต่ละวัตถุ Validation จะเก็บ ValidationType (เช่น WHOLE_NUMBER), OperatorType (เช่น BETWEEN) และสตริงสูตรสำหรับขอบเขต. การจัดรูปแบบตามเงื่อนไขจะถูกเพิ่มผ่าน sheet.getConditionalFormattings().add(), ซึ่งจะคืนค่า FormatConditionCollection ที่คุณระบุช่วงเซลล์และเงื่อนไข.

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

AutoFilters และการตั้งค่าหน้า

AutoFilters ถูกกำหนดค่าโดยการเรียก ws.getAutoFilter().setRange() พร้อมกับ A1-notation
สตริงช่วง. อ็อบเจ็กต์ PageSetup ควบคุมขนาดกระดาษ, การวางแนว, และ fit-to-page
การตั้งค่าสำหรับผลลัพธ์พร้อมพิมพ์. การป้องกัน Worksheet ถูกนำไปใช้ผ่าน protect() พร้อมกับ
WorksheetProtectionModel.


เริ่มต้นอย่างเร็ว

เพิ่มการพึ่งพา Maven ไปยัง pom.xml ของคุณ:

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

สร้างเวิร์กบุ๊ก, เติมข้อมูลในเซลล์, ใช้การจัดรูปแบบ, และบันทึก:

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

รูปแบบที่รองรับ

รูปแบบส่วนขยายอ่านเขียน
Excel Open XML.xlsx

การบันทึกในขณะนี้จำกัดอยู่ที่ .xlsx. ไลบรารีเก็บและส่งต่อสูตร, แต่ไม่ได้เป็นเครื่องคำนวณสเปรดชีตเต็มรูปแบบ.


โอเพนซอร์สและการให้สิทธิ์

Aspose.Cells FOSS for Java ถูกปล่อยภายใต้สัญญาอนุญาต MIT คุณสามารถใช้, แก้ไข และแจกจ่ายได้ในโครงการส่วนบุคคล, โอเพ่นซอร์ส, และเชิงพาณิชย์โดยไม่มีข้อจำกัด. ซอร์สโค้ดสามารถเข้าถึงได้ที่ github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


เริ่มต้น