مقدمة

الفئة Cell هي الوحدة الأساسية في Aspose.Cells FOSS for Java. تقوم بتخزين القيم ذات النوع، وتكشف عن نوعها في وقت التشغيل عبر تعداد CellValueType، وتحتفظ بسلاسل الصيغ لتقييمها بواسطة Excel، وتوفر تمثيلًا نصيًا موحدًا عبر getStringValue(). تستعرض هذه المقالة واجهة برمجة التطبيقات الأساسية للخلية بالتفصيل مع أمثلة موثقة.

جميع أمثلة الشيفرة أدناه تستخدم تبعية Maven:

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

واجهة برمجة تطبيقات الخلية الأساسية

تخزين القيم ذات النوع باستخدام putValue()

Cell.putValue() يقبل ستة أنواع جافا: 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() تُعيد تمثيلًا نصيًا غير معتمد على الإعدادات الإقليمية مناسبًا للمعالجة اللاحقة أو العرض. يُعد التشعب على 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 بتخزين
الصيغ وإعادة تدويرها في 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.


البدء