使用 Aspose.Cells FOSS
概述
本指南涵盖了使用 Aspose.Cells FOSS for Java 创建、加载、修改和保存 Excel 工作簿的核心工作流程。
创建和保存工作簿
Workbook 类是所有电子表格操作的入口点。它实现了 AutoCloseable,以实现干净的资源管理:
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);
sheet.setName("Sales");
sheet.getCells().get("A1").putValue("Product");
sheet.getCells().get("B1").putValue("Revenue");
sheet.getCells().get("A2").putValue("Widget A");
Cell b2 = sheet.getCells().get("B2");
b2.putValue(42500.75);
Style style = b2.getStyle();
style.getFont().setBold(true);
style.setCustom("#,##0.00");
b2.setStyle(style);
workbook.save("sales.xlsx");
}加载现有工作簿
加载现有 .xlsx 文件并检查加载诊断:
import com.aspose.cells_foss.LoadIssue;
import com.aspose.cells_foss.LoadOptions;
import com.aspose.cells_foss.Workbook;
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.Workbook;
import com.aspose.cells_foss.Worksheet;
try (Workbook workbook = new Workbook()) {
Worksheet sheet1 = workbook.getWorksheets().get(0);
sheet1.setName("Q1");
workbook.getWorksheets().addSheet("Q2");
Worksheet sheet2 = workbook.getWorksheets().get(1);
sheet2.setName("Q2 Summary");
workbook.save("multi.xlsx");
}自动筛选
启用自动筛选,让用户在 Excel 中筛选数据:
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("Category");
sheet.getAutoFilter().setRange("A1:B1");
workbook.save("filtered.xlsx");
}