Руководства по устранению неполадок

Руководства по устранению неполадок

Распространённые проблемы

В этом разделе рассматриваются часто встречающиеся проблемы, возникающие при использовании Aspose.Cells FOSS в Python, в частности с классами из API, такими как Cell, AutoFilter, CSVHandler, и CFBReader.

Импорт CSV завершается с ошибками кодировки

Симптомы включают искажённый текст или UnicodeDecodeError при загрузке CSV‑файлов. Это происходит, когда CSV‑файл использует кодировку, отличную от UTF‑8 (например, cp1252 или Shift-JIS). Чтобы исправить, преобразуйте файл в UTF‑8 перед загрузкой, или передайте CSVLoadOptions экземпляр в CSVHandler.load_csv():

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.range, filter_columns, и sort_state для проверки загруженного состояния после загрузки.

Зашифрованные файлы XLSX не могут быть прочитаны

Симптомы включают NotImplementedError: Standard encryption is not yet supported при попытке открыть зашифрованный .xlsx файл. Aspose.Cells FOSS поддерживает только Agile‑шифрование (ECMA-376 Part 2, Section 4) через AgileEncryptionParameters. Файлы, зашифрованные устаревшим XOR или стандартным шифрованием ECMA-376, не поддерживаются. Используйте CFBReader.read_encryption_info() только если файл использует шифрование Agile; в противном случае расшифруйте его внешне перед загрузкой.

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 raises specific errors during file I/O, encryption, and parsing operations. This section documents common error messages from classes like CFBReader, CFBWriter, и AutoFilterXMLLoader, вместе с их причинами и исправлениями.

ОшибкаПричинаИсправление
NotImplementedError: Standard encryption is not yet supportedПопытка чтения или записи зашифрованного XLSX с использованием не‑Agile шифрования (например, XOR, RC4).Использовать AgileEncryptionParameters и убедитесь, что файл использует Agile‑шифрование (ECMA‑376 Part 2, Section 4).
NotImplementedError: Only Agile encryption is currently supportedИспользуя CFBWriter или CFBReader с параметрами шифрования, отличными от Agile.Настройте шифрование через AgileEncryptionParameters перед вызовом write() или read_encrypted_package().
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.Используйте только поддерживаемые ChartType значения при сохранении диаграмм через xml_chart_saver.
ValueError: Invalid CSV contentНекорректные CSV‑данные переданы в CSVHandler.load_csv_from_string() или load_csv().Проверьте синтаксис CSV перед загрузкой.
ValueError: Cell value type mismatchПередача несовместимого типа в CellValueHandler.format_value_for_xml() или parse_value_from_xml().Используйте CellValueHandler.get_cell_type() для определения правильного типа ячейки перед форматированием или разбором.

Получение помощи

Для Aspose.Cells FOSS сообщайте о проблемах или запрашивайте функции через GitHub Issues. Ознакомьтесь с документацией для классов, таких как AutoFilter, Cell, CSVHandler, и AgileEncryptionParameters. Обратитесь к сообществу на GitHub Discussions с общими вопросами об использовании библиотеки в рабочих процессах Python.

См. также

Для получения сопутствующих рекомендаций по решению распространённых проблем в Aspose.Cells FOSS ознакомьтесь с документацией для основных классов, таких как Cell, AutoFilter, CSVHandler, и AgileEncryptionParameters.

 Русский