使用 XML 处理
概述
Aspose.Cells FOSS for Java 在内部使用流式 SAX 基于的
读取器进行加载,使用基于 DOM 的写入器进行保存来处理 OOXML XML。XML 处理层在设置LoadOptions.setTryRepairXml(true) 时处理损坏包的修复。
维修模式
启用修复模式以容忍损坏的 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("damaged.xlsx", options)) {
if (workbook.getLoadDiagnostics().hasRepairs()) {
for (LoadIssue issue : workbook.getLoadDiagnostics().getIssues()) {
System.out.println("Repaired: " + issue.getMessage());
}
}
workbook.save("repaired.xlsx");
}加载诊断
workbook.getLoadDiagnostics() 返回一个 LoadDiagnostics 对象,包含:
hasRepairs()— 如果在加载期间进行了任何修复,则返回truegetIssues()— 返回一个包含消息的LoadIssue对象列表