Руководства по устранению неполадок
Распространённые проблемы
В этом разделе рассматриваются часто встречающиеся проблемы, возникающие при использовании 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.
- GitHub Issues: https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Python/issues
- Обсуждения GitHub: https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Python/discussions
- Справочник API: https://reference.aspose.org/cells/python/
См. также
Для получения сопутствующих рекомендаций по решению распространённых проблем в Aspose.Cells FOSS ознакомьтесь с документацией для основных классов, таких как Cell, AutoFilter, CSVHandler, и AgileEncryptionParameters.