Aspose.Cells FOSS para Java es una biblioteca de Java 17 pura que permite a los desarrolladores crear, cargar, modificar y salvar los libros de trabajo de Excel .xlsx sin ningún tiempo de trabajo comercial de Aspose Exponer una API pública limpia bajo el paquete com.aspose.cells_foss y Se publica bajo la licencia de MIT.
La biblioteca cubre el modelo de objeto de la hoja de espalda central: libros de trabajo, hoja de trabajo, células, estilos y colecciones. las capacidades apoyadas incluyen valores celulares (string, número, boolean, fecha/tempo, y fórmula), formatación de células (fonte, límites, rellenos, alineación, y formatos de número), AutoFilters, validación de datos, formatación condicional, hiperligazones, celdas, nombres definidos, configuración de página y protección de la hoja de trabajo.
Aspose.Cells FOSS para Java está construido con Maven 3.9+ y los objetivos Java 17+. su proyecto a través de una dependencia Maven. Para una funcionalidad más avanzada, consulte el Aspose.Cells commercial edition. El ahorro se limita actualmente al formato .xlsx.
Crea un libro de trabajo, establece valores y estilos de células, ajusta las dimensiones de la línea y la columna y salva a un archivo .xlsx utilizando Workbook.save().
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 Main {
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");
sheet.getCells().get("B1").putValue(12500.75);
Cell total = sheet.getCells().get("B1");
Style style = total.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
total.setStyle(style);
sheet.getCells().getRows().get(0).setHeight(22.0);
sheet.getCells().getColumns().get(1).setWidth(14.5);
workbook.save("report.xlsx");
}
}
}
Cargue un archivo .xlsx existente utilizando LoadOptions para activar el modo de reparación, luego inspeccione los diagnósticos de carga antes de salvar el libro de trabajo modificado.
import com.aspose.cells_foss.LoadIssue;
import com.aspose.cells_foss.LoadOptions;
import com.aspose.cells_foss.Workbook;
public class LoadWorkbook {
public static void main(String[] args) {
LoadOptions options = new LoadOptions();
options.setStrictMode(false);
options.setTryRepairPackage(true);
options.setTryRepairXml(true);
try (Workbook workbook = new Workbook("input.xlsx", options)) {
if (workbook.getLoadDiagnostics().hasRepairs()) {
for (LoadIssue issue : workbook.getLoadDiagnostics().getIssues()) {
System.out.println(issue.getMessage());
}
}
workbook.getDocumentProperties().setAuthor("cells-foss");
workbook.save("output.xlsx");
}
}
}
Añade una regla de validación de números enteros y destaca las células cualificantes con el formato condicional valiente en un único libro de trabajo.
import com.aspose.cells_foss.CellArea;
import com.aspose.cells_foss.FormatCondition;
import com.aspose.cells_foss.FormatConditionCollection;
import com.aspose.cells_foss.FormatConditionType;
import com.aspose.cells_foss.OperatorType;
import com.aspose.cells_foss.Style;
import com.aspose.cells_foss.Validation;
import com.aspose.cells_foss.ValidationType;
import com.aspose.cells_foss.Workbook;
import com.aspose.cells_foss.Worksheet;
public class RulesExample {
public static void main(String[] args) {
try (Workbook workbook = new Workbook()) {
Worksheet sheet = workbook.getWorksheets().get(0);
int vi = sheet.getValidations().add(new CellArea(1, 0, 10, 1));
Validation validation = sheet.getValidations().get(vi);
validation.setType(ValidationType.WHOLE_NUMBER);
validation.setOperator(OperatorType.BETWEEN);
validation.setFormula1("1");
validation.setFormula2("100");
int cfIndex = sheet.getConditionalFormattings().add();
FormatConditionCollection conditions = sheet.getConditionalFormattings().get(cfIndex);
conditions.addArea(CellArea.createCellArea("B2", "B11"));
int condIndex = conditions.addCondition(
FormatConditionType.CELL_VALUE, OperatorType.BETWEEN, "1", "100");
FormatCondition condition = conditions.get(condIndex);
Style style = condition.getStyle();
style.getFont().setBold(true);
condition.setStyle(style);
workbook.save("rules.xlsx");
}
}
}