Вступ
Aspose.Cells FOSS for Java надає всебічний набір можливостей роботи з електронними таблицями для застосувань Java 17. Випущена під ліцензією MIT і розповсюджується як стандартний артефакт Maven, бібліотека охоплює все — від базового створення робочих книг до типізованих значень клітинок, багатого форматування, перевірки даних і AutoFilter — без залежності від Microsoft Office.
У цьому дописі розглядаються основні області функціоналу з фокусованими прикладами коду, взятими
з перевіреної поверхні API. Усі назви класів і методів, показані нижче, існують у бібліотеці
і доступні у версії 1.0.0.
Ключові особливості
Керування робочою книгою та листом
Клас Workbook реалізує AutoCloseable, тому він безперешкодно інтегрується з
Java try-with-resources шаблоном. Ви можете створити порожню робочу книгу, завантажити існуючий
.xlsx файл, перейменувати листи, додати або видалити листи, встановити активний лист і
керувати видимістю вкладок.
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
sheet.setName("Q1 Report");
workbook.getWorksheets().addSheet("Summary");
workbook.save("report.xlsx");
}
Типізовані значення клітинок та формули
Клас Cell приймає типізовані значення через putValue() для String, int, double,
boolean та LocalDateTime. Метод getType() повертає значення перерахування CellValueType —
STRING, NUMBER, BOOLEAN, DATE_TIME або FORMULA — що спрощує
розгалуження за типом значення без парсингу рядків. Формульні рядки зберігаються за допомогою
setFormula() і будуть перераховані 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 a1 = sheet.getCells().get("A1");
a1.putValue("Revenue");
Cell b1 = sheet.getCells().get("B1");
b1.putValue(42500.00);
Cell c1 = sheet.getCells().get("C1");
c1.setFormula("=B1*1.2");
// Check type
assert b1.getType() == CellValueType.NUMBER;
assert c1.getType() == CellValueType.FORMULA;
workbook.save("values.xlsx");
}
Форматування клітинок і стилі
Форматування застосовується через об’єкт Style, отриманий з cell.getStyle(), і записується назад за допомогою cell.setStyle(). Підоб’єкт Font відкриває setBold() та setColor(). HorizontalAlignment керує вирівнюванням тексту — LEFT, CENTER або RIGHT. Користувацькі формати чисел використовують рядки формату Excel через style.setCustom(). Висоту рядка та ширину стовпця регулюються через getRows().get(n).setHeight() та getColumns().get(n).setWidth().
import com.aspose.cells_foss.Cell;
import com.aspose.cells_foss.Style;
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.50);
Style style = cell.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
cell.setStyle(style);
sheet.getCells().getRows().get(0).setHeight(24.0);
sheet.getCells().getColumns().get(1).setWidth(16.0);
workbook.save("styled.xlsx");
}
Перевірка даних
Правила перевірки даних додаються за допомогою sheet.getValidations().add(). КоженValidation об’єкт приймає ValidationType (наприклад, WHOLE_NUMBER, DECIMAL, LIST)
і OperatorType (наприклад, BETWEEN, GREATER_THAN). Межі формули зберігаються як
рядки за допомогою setFormula1() та setFormula2().
import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
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");
}
AutoFilter
AutoFilters дозволяють кінцевим користувачам інтерактивно фільтрувати дані в Excel без будь‑якої додаткової
конфігурації. Викличте ws.getAutoFilter().setRange() з діапазоном у нотатці A1, щоб
увімкнути рядок заголовка фільтра. Додаткові стовпці фільтра та власні критерії можуть бути
визначені за допомогою FilterColumn та AutoFilterCustomFilter.
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("Product");
sheet.getCells().get("B1").putValue("Qty");
sheet.getAutoFilter().setRange("A1:B1");
workbook.save("filtered.xlsx");
}
Налаштування сторінки та захист листа
Клас PageSetup контролює розмір паперу, орієнтацію сторінки та налаштування підгонки до сторінки
для готового до друку виводу. Захист листа застосовується через protect() зWorksheetProtectionModel, дозволяючи певним клітинкам залишатися редагованими, а решту
блокувати. Гіперпосилання керуються через HyperlinkCollection.
Швидкий старт
Додайте залежність до вашого pom.xml:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Створіть робочий зошит з усіма основними функціями у межах 20 рядків:
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("Sales");
sheet.getCells().get("A1").putValue("Revenue");
Cell b1 = sheet.getCells().get("B1");
b1.putValue(42500.00);
Style style = b1.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
b1.setStyle(style);
sheet.getAutoFilter().setRange("A1:B1");
workbook.save("sales.xlsx");
}
}
}
Підтримувані формати
| Формат | Розширення | Читання | Запис |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Збереження наразі обмежене .xlsx. Бібліотека зберігає та передає формули
але не функціонує як повноцінний движок обчислень електронних таблиць.
Відкритий код та ліцензування
Aspose.Cells FOSS for Java випущено під ліцензією MIT. Ви вільні використовувати, модифікувати та розповсюджувати його в особистих, відкритих та комерційних проектах без обмежень. Вихідний код доступний за адресою github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.