Посібники з усунення несправностей
Типові проблеми
У цьому розділі розглядаються поширені проблеми, що виникають при використанні Aspose.Cells FOSS у Python, зокрема з класами API‑поверхні, такими як Cell, AutoFilter, CSVHandler, і CFBReader.
Імпорт CSV завершується помилкою кодування
Симптоми включають спотворений текст або UnicodeDecodeError при завантаженні CSV‑файлів. Це відбувається, коли CSV‑файл використовує кодування, відмінне від UTF‑8 (наприклад, cp1252 або Shift‑JIS). Щоб виправити, конвертуйте файл у UTF‑8 перед завантаженням або передайте a 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
Симптоми включають відсутність елементів керування фільтром або нефільтровані дані після завантаження an .xlsx файлу. Це відбувається, коли AutoFilterXMLLoader.load_auto_filter() тихо завершується через некоректний XML у вихідному файлі. Перевірте, чи XLSX’s 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.