Working with XML Processing

使用 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() — 如果在加载期间进行了任何修复,则返回 true
  • getIssues() — 返回一个包含消息的 LoadIssue 对象列表
 中文