מבוא

המחלקה Cell היא היחידה הבסיסית ב‑Aspose.Cells FOSS for Java. היא מאחסנת ערכים טיפוסיים, חושפת את סוג הריצה שלהם דרך המונה CellValueType, משמרת מחרוזות נוסחה כדי ש‑Excel יוכל להעריך אותן, ומספקת ייצוג מחרוזת אחיד דרך getStringValue(). פוסט זה בוחן את API התא המרכזי בפירוט עם דוגמאות מאומתות.

כל דוגמאות הקוד למטה משתמשות בתלות Maven:

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

Core Cell API

אחסון ערכים טיפוסיים עם putValue()

Cell.putValue() מקבל שישה סוגי Java: String, int, double, boolean, LocalDateTime, ו-Object. כל קריאה מגדירה את הערך הפנימי של התא וקובעת את CellValueType המוחזר על ידי cell.getType().

import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.CellValueType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
import java.time.LocalDateTime;

try (Workbook workbook = new Workbook()) {
    Worksheet sheet = workbook.getWorksheets().get(0);

    Cell a1 = sheet.getCells().get("A1");
    a1.putValue("Revenue");
    assert a1.getType() == CellValueType.STRING;

    Cell b1 = sheet.getCells().get("B1");
    b1.putValue(42500.75);
    assert b1.getType() == CellValueType.NUMBER;

    Cell c1 = sheet.getCells().get("C1");
    c1.putValue(true);
    assert c1.getType() == CellValueType.BOOLEAN;

    Cell d1 = sheet.getCells().get("D1");
    d1.putValue(LocalDateTime.of(2026, 4, 27, 9, 0, 0));
    assert d1.getType() == CellValueType.DATE_TIME;

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

תאים ריקים מחזירים CellValueType.BLANK מgetType(). ערכי שלמים שנשמרים עם putValue(int) עוברים סיבוב דרך סריאליזציית XLSX ללא קבלת נקודה עשרונית — getStringValue() מחזיר "123" ולא "123.0".

בדיקת ערכים בזמן ריצה

cell.getValue() מחזיר את הערך הגולמי השמור כObject. cell.getStringValue()
מחזיר ייצוג מחרוזת שאינו תלוי במיקום, המתאים לעיבוד downstream
או להצגה. הסתעפות על CellValueType היא הדפוס המומלץ לחילוץ ערכים בטוח‑סוג
:

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);
    sheet.getCells().get("A1").putValue("Hello");
    sheet.getCells().get("B1").putValue(123);
    sheet.getCells().get("C1").putValue(true);
    sheet.getCells().get("D1").putValue(12.5d);
    sheet.getCells().get("G1").setFormula("=B1*2");

    Cell b1 = sheet.getCells().get("B1");
    if (b1.getType() == CellValueType.NUMBER) {
        System.out.println("Number: " + b1.getStringValue());
    }
    workbook.save("inspect.xlsx");
}

אחסון נוסחה

מחרוזות נוסחה מאוחסנות עם cell.setFormula(). מחרוזת הנוסחה המאוחסנת מתחילה
ב= ועוקבת אחרי תחביר נוסחאות סטנדרטי של Excel. השיטה getType() מחזירה
CellValueType.FORMULA לתאים עם נוסחה. Aspose.Cells FOSS for Java מאחסן ו
מבצע round‑trip לנוסחאות ב‑XLSX; הנוסחה מחושבת מחדש על‑ידי Excel בפתיחה.

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 b1 = sheet.getCells().get("B1");
    b1.putValue(100.0);
    Cell c1 = sheet.getCells().get("C1");
    c1.setFormula("=B1*1.2");
    assert c1.getType() == CellValueType.FORMULA;
    workbook.save("formulas.xlsx");
}

XLSX אמינות מעבר הלוך-חזור

כל הערכים המוקלדים נשמרים במהלך סריאליזציית XLSX וטעינה מחדש. טעינת קובץ .xlsx קיים משתמשת בnew Workbook(path) או בnew Workbook(path, options) עם LoadOptions כדי להפעיל מצב תיקון. לאחר הטעינה מחדש, getType() וgetStringValue() מחזירים את אותם ערכים כמו בזמן הכתיבה.

import com.aspose.cells_foss.LoadIssue;
import com.aspose.cells_foss.LoadOptions;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;

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());
        }
    }
    Worksheet sheet = workbook.getWorksheets().get(0);
    System.out.println(sheet.getCells().get("A1").getStringValue());
    workbook.save("output.xlsx");
}

פורמטים נתמכים

פורמטהרחבהקריאהכתיבה
Excel Open XML.xlsx

קוד פתוח ורישוי

Aspose.Cells FOSS for Java משוחרר תחת רישיון MIT. אתה חופשי להשתמש, לשנות, ולהפיץ אותו בפרויקטים אישיים, קוד פתוח, ומסחריים ללא הגבלה. קוד המקור זמין ב github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.


התחלה