开发者可以创建一个简单的Java17库. 无需任何商业 Aspose 运行时间,加载,修改和保存 Excel .xlsx 工作簿. 它将一个清洁的公开API暴露在com.aspose.cells_foss包下,并提供了 在MIT许可证下发布.
库涵盖了核心电子表格对象模型:工作簿,工作表,细胞, 支持的功能包括细胞值 (字符串,数字, 字体,边框,填充,对齐, 编程,数据验证,条件格式化,超链接等. 合并单元,定义名称,页面设置和工作表保护. 应用程序的FOSS为Java是用Maven 3.9+构建,目标是 Java 17+.添加它到 保存目前仅限于.xlsx格式. 对于更先进的功能,请参阅Aspose.Cells commercial edition.
new Workbook()getWorksheets().get(index) 或名字访问工作表setName(),添加和删除页面,设置活跃的页WorksheetViewModel控制工作表的可见性和标签颜色.cell.putValue() 为 String、int、double、boolean 和 LocalDateTime 设置单元格值CellValueType 读取值类型:STRING、NUMBER、BOOLEAN、DATE_TIME 或 FORMULAcell.setFormula() 存储公式字符串;值类型变为 FORMULAcell.getStringValue() 访问任意单元格值的字符串表示Style 类(来自 cell.getStyle())应用字体、边框和填充HorizontalAlignment(LEFT、CENTER、RIGHT)和 AlignmentValue 控制对齐style.setCustom() 或内置的 NumberFormat 模式设置数字格式getRows().get(n).setHeight() 和 getColumns().get(n).setWidth() 调整行高和列宽ws.getAutoFilter().setRange() 设置一个自动过范围.FilterColumn 和 AutoFilterCustomFilter 加上过列和自定义过 ?? 标准.ValidationType 和OperatorType 用 sheet.getValidations().add() 定义数据验证规则.FormatConditionCollection 和 FormatCondition 应用条件格式化PageSetup 配置打印设置:纸张大小,方向,页面适合性,印刷区域PrintOptionsModel 将网格线和标题切换为打印.WorksheetProtectionModel 保护工作表和微调权限Hyperlink 和 HyperlinkCollection 在工作表中存储超链接.创建工作簿,设置单元格值和样式,调整行与列尺寸,并使用Workbook.save()将其保存为一个 .xlsx文件.
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()) ```java
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");
}
}
}
}
}
使用 LoadOptions 加载现有的 .xlsx 文件以启用修复模式,然后检查
加载诊断后再保存修改后的工作簿。
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");
}
}
}
在单个工作簿中添加整数验证规则,并突出具有粗条件格式的合格细胞.
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()) ```java
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");
}
}
}
}
}