Introducción
Aspose.Cells FOSS for Java es una biblioteca Java 17 de código abierto que permite a los desarrolladores
crear, cargar, modificar y guardar libros de Excel .xlsx completamente en la JVM — con
sin instalación de Microsoft Office, sin bibliotecas nativas y sin dependencia comercial del tiempo de ejecución de Aspose
dependencia. La API pública se encuentra bajo el paquete com.aspose.cells_foss y está
publicada bajo la licencia MIT, lo que la hace adecuada para proyectos personales, de código abierto y
proyectos comerciales por igual.
La biblioteca se entrega como un artefacto Maven estándar y cubre el modelo de objetos de hoja de cálculo OOXML central: libros de trabajo, hojas de cálculo, celdas, estilos y colecciones. Está construida con Maven 3.9+ y tiene como objetivo Java 17+, integrándose de forma natural en cualquier canal de compilación Java moderno.
Agrega la dependencia a tu pom.xml y estarás listo para generar o procesar libros de Excel desde un servlet, un trabajo por lotes, una función Lambda o cualquier otro contexto del lado del servidor Java.
Características clave
Gestión de libros de trabajo y hojas de cálculo
La clase Workbook es el punto de entrada para todas las operaciones de hoja de cálculo. Implementa
AutoCloseable para integrarse limpiamente con el patrón try-with-resources. Puedes
crear nuevos libros de trabajo, cargar archivos .xlsx existentes, agregar y eliminar hojas de cálculo, renombrar
hojas con setName(), establecer la hoja activa y controlar la visibilidad de las pestañas.
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
import com.aspose.cells_foss.WorksheetCollection;
try (Workbook workbook = new Workbook()) {
WorksheetCollection sheets = workbook.getWorksheets();
Worksheet sheet = sheets.get(0);
sheet.setName("Sales");
workbook.save("sales.xlsx");
}
Valores de celdas y fórmulas
La clase Cell admite el almacenamiento de valores tipados mediante putValue() para cadenas, enteros,
dobles, booleanos y valores LocalDateTime. Las cadenas de fórmula se almacenan con
setFormula() y serán recalculadas por Excel al abrirse. El tipo de valor se expone
a través de CellValueType — STRING, NUMBER, BOOLEAN, DATE_TIME o FORMULA.
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 a1 = sheet.getCells().get("A1");
a1.putValue("Revenue");
Cell b1 = sheet.getCells().get("B1");
b1.putValue(12500.75);
Cell c1 = sheet.getCells().get("C1");
c1.setFormula("=B1*1.2");
workbook.save("values.xlsx");
}
Formato de celdas y estilos
El formato se aplica a través de la clase Style, recuperada de cell.getStyle() y
escrita de nuevo con cell.setStyle(). Puedes configurar negrita y color en el Font,
aplicar HorizontalAlignment y establecer cadenas de formato numérico personalizadas mediante style.setCustom().
La altura de fila y el ancho de columna se controlan a través de getRows().get(n).setHeight() y
getColumns().get(n).setWidth().
import com.aspose.cells_foss.Style;
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 cell = sheet.getCells().get("B1");
cell.putValue(9999.5);
Style style = cell.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
cell.setStyle(style);
workbook.save("styled.xlsx");
}
Validación de datos y formato condicional
Las reglas de validación de datos se añaden a través de sheet.getValidations().add(). Cada objeto Validation contiene un ValidationType (p. ej., WHOLE_NUMBER), un OperatorType (p. ej., BETWEEN) y cadenas de fórmula para los límites. El formato condicional se añade a través de sheet.getConditionalFormattings().add(), que devuelve un FormatConditionCollection donde especificas rangos de celdas y condiciones.
import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
import com.aspose.cells_foss.OperatorType;
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");
}
AutoFiltros y Configuración de página
Los AutoFilters se configuran llamando a ws.getAutoFilter().setRange() con una cadena de rango en notación A1.
El objeto PageSetup controla el tamaño del papel, la orientación y la configuración de ajuste a la página para la salida lista para imprimir.
La protección de la hoja de cálculo se aplica mediante protect() con un WorksheetProtectionModel.
Inicio rápido
Agrega la dependencia de Maven a tu pom.xml:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>cells-foss</artifactId>
<version>1.0.0</version>
</dependency>
Cree un libro de trabajo, rellene celdas, aplique formato y guarde:
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("Report");
sheet.getCells().get("A1").putValue("Revenue");
Cell cell = sheet.getCells().get("B1");
cell.putValue(12500.75);
Style style = cell.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
cell.setStyle(style);
sheet.getCells().getRows().get(0).setHeight(22.0);
sheet.getCells().getColumns().get(1).setWidth(14.5);
workbook.save("report.xlsx");
}
}
}
Formatos compatibles
| Formato | Extensión | Leer | Escribir |
|---|---|---|---|
| Excel Open XML | .xlsx | ✓ | ✓ |
Guardar está actualmente limitado a .xlsx. La biblioteca almacena y transporta fórmulas,
pero no es un motor de cálculo de hojas de cálculo completo.
Código abierto y licencias
Aspose.Cells FOSS for Java se publica bajo la licencia MIT. Usted es libre de usar, modificar y distribuirlo en proyectos personales, de código abierto y comerciales sin restricción. El código fuente está disponible en github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Java.