Ръководства за отстраняване на проблеми
Чести проблеми
Този раздел обхваща често срещаните проблеми, възникващи при използване на 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 в изходния файл. Проверете дали xl/autofilters/autofilter*.xml на XLSX е добре оформен. Ако файлът е създаден външно, уверете се, че отговаря на 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 генерира специфични грешки по време на файлов I/O, криптиране и операции по парсиране. Този раздел документира чести съобщения за грешки от класове като 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 проблеми: 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.