故障排除指南

故障排除指南

常见问题

本节介绍在 Python 中使用 Aspose.Cells FOSS 时常见的问题,特别是 API 表面中的类,如 CellAutoFilterCSVHandlerCFBReader

CSV 导入因编码错误失败

症状包括加载 CSV 文件时出现乱码或 UnicodeDecodeError。这通常是因为 CSV 文件使用了非 UTF-8 编码(例如 cp1252 或 Shift-JIS)。解决方法是将文件转换为 UTF-8 后再加载,或向 CSVHandler.load_csv() 传递一个 CSVLoadOptions 实例:

from aspose.cells_foss import Workbook, CSVHandler, CSVLoadOptions

opts = CSVLoadOptions()
wb = Workbook()
CSVHandler.load_csv(wb, "data.csv", opts)

AutoFilter 加载 XLSX 后未应用

症状包括在加载 .xlsx 文件后缺少筛选控件或出现未筛选的数据。
AutoFilterXMLLoader.load_auto_filter() 因源文件中的 XML 格式错误而静默失败时会出现此情况。
验证 XLSX 的 xl/autofilters/autofilter*.xml 是否格式良好。
如果该文件是外部创建的,请确保其符合 ECMA-376 标准。
使用 AutoFilter.rangefilter_columnssort_state 在加载后检查加载状态。

加密的 XLSX 文件无法读取

症状包括在尝试打开加密的 .xlsx 文件时出现 NotImplementedError: Standard encryption is not yet supported。Aspose.Cells FOSS 仅通过 AgileEncryptionParameters 支持 Agile 加密(ECMA-376 第2部分,第4节)。不支持使用传统 XOR 或标准 ECMA-376 加密的文件。仅在文件使用 Agile 加密时使用 CFBReader.read_encryption_info();否则,请在加载前在外部解密。

Cell 值未能正确解析 XML

症状包括日期值不正确、数字字符串被误解释为数字,或错误值(例如 #N/A)未被识别。当 CellValueHandler.parse_value_from_xml() 与不正确的 cell_type 或缺少 shared_strings 上下文一起使用时会出现此问题。确保 cell_type 与 ECMA-376 t 属性匹配(例如,'s' 表示共享字符串,'n' 表示数字),并为字符串类型提供已填充的 shared_strings 列表。使用 CellValueHandler.get_cell_type() 在解析前验证推断的类型。

错误信息

Aspose.Cells FOSS 在文件 I/O、加密和解析操作期间会抛出特定错误。本节记录了来自 CFBReaderCFBWriterAutoFilterXMLLoader 等类的常见错误消息,以及它们的原因和解决方法。

ErrorCauseFix
NotImplementedError: Standard encryption is not yet supported尝试使用非 Agile 加密(例如 XOR、RC4)读取或写入加密的 XLSX。使用 AgileEncryptionParameters,并确保文件使用 Agile 加密(ECMA-376 第2部分,第4节)。
NotImplementedError: Only Agile encryption is currently supported使用 CFBWriterCFBReader 时,采用非 Agile 的加密参数。在调用 write()read_encrypted_package() 之前,通过 AgileEncryptionParameters 配置加密。
NotImplementedError: Unsupported chart type for creation创建的图表类型不在 ChartType.LINE、BAR、PIE、AREA 或 STOCK 中。将图表创建限制为支持的类型:LINE、BAR、PIE、AREA、STOCK。
NotImplementedError: Only line, bar, pie, area and stock charts are currently supported将不受支持的图表类型(例如 WATERFALL、BOX_WHISKER)保存为 XML。通过 xml_chart_saver 保存图表时,仅使用受支持的 ChartType 值。
ValueError: Invalid CSV contentCSVHandler.load_csv_from_string()load_csv() 传递了格式错误的 CSV 数据。在加载之前验证 CSV 语法。
ValueError: Cell value type mismatchCellValueHandler.format_value_for_xml()parse_value_from_xml() 传递了不兼容的类型。在格式化或解析之前,使用 CellValueHandler.get_cell_type() 确定正确的单元格类型。

获取帮助

对于 Aspose.Cells FOSS,请通过 GitHub Issues 报告问题或请求功能。查看类似 AutoFilterCellCSVHandlerAgileEncryptionParameters 的类文档。通过 GitHub Discussions 与社区交流,针对在 Python 工作流中使用该库的一般问题进行讨论。

另请参阅

有关在 Aspose.Cells FOSS 中处理常见问题的相关指南,请查阅核心类的文档,例如 CellAutoFilterCSVHandlerAgileEncryptionParameters

 中文