Работа с основными операциями ячеек
Обзор
Основной 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 Value | Description |
|---|---|
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");
}