Работа с основными операциями ячеек

Обзор

Основной API ячейки поддерживает типизированные значения, хранение формул, проверку типа значения через CellValueType и единообразное строковое представление через getStringValue().

Сохранение типизированных значений

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.75);

    Cell c1 = sheet.getCells().get("C1");
    c1.putValue(true);

    Cell d1 = sheet.getCells().get("D1");
    d1.setFormula("=B1*1.2");

    // Type inspection
    System.out.println(a1.getType());  // STRING
    System.out.println(b1.getType());  // NUMBER
    System.out.println(c1.getType());  // BOOLEAN
    System.out.println(d1.getType());  // FORMULA

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

Значения перечисления CellValueType

Enum ValueDescription
STRINGТекстовое значение, сохраняемое putValue(String)
NUMBERЧисловое значение, сохраняемое putValue(int) или putValue(double)
BOOLEANЛогическое значение, сохраняемое putValue(boolean)
DATE_TIMEЗначение даты/времени, сохраняемое putValue(LocalDateTime)
FORMULAСтрока формулы, сохраняемая setFormula(String)
BLANKПустая ячейка — значение не установлено

Получение строковых значений

cell.getStringValue() возвращает независимую от локали строку, подходящую для отображения или последующей обработки, независимо от типа исходного значения:

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 b1 = sheet.getCells().get("B1");
    b1.putValue(123);
    System.out.println(b1.getStringValue());  // "123" — no decimal point
    workbook.save("string-values.xlsx");
}

Хранилище формул

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");
    System.out.println(c1.getType() == CellValueType.FORMULA);  // true
    workbook.save("formulas.xlsx");
}
 Русский