Въведение
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");
}
Автофилтър
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.