Poradniki rozwiązywania problemów
Typowe problemy
Ta sekcja opisuje częste problemy napotykane podczas używania Aspose.Cells FOSS w Python, szczególnie w odniesieniu do klas z powierzchni API, takich jak Cell, AutoFilter, CSVHandler, oraz CFBReader.
Import CSV nie powodzi się z błędami kodowania
Objawy obejmują zniekształcony tekst lub UnicodeDecodeError przy ładowaniu plików CSV. Dzieje się tak, gdy plik CSV używa kodowania nie‑UTF‑8 (np. cp1252 lub Shift-JIS). Aby naprawić, przekonwertuj plik na UTF‑8 przed ładowaniem lub przekaż a CSVLoadOptions instancję do CSVHandler.load_csv():
from aspose.cells_foss import Workbook, CSVHandler, CSVLoadOptions
opts = CSVLoadOptions()
wb = Workbook()
CSVHandler.load_csv(wb, "data.csv", opts)AutoFilter Nie zastosowano po załadowaniu XLSX
Objawy obejmują brak kontrolek filtrów lub nieprzefiltrowane dane po załadowaniu an .xlsx pliku. Dzieje się to, gdy AutoFilterXMLLoader.load_auto_filter() cicho nie powodzi się z powodu nieprawidłowego XML w pliku źródłowym. Zweryfikuj, czy XLSX’s xl/autofilters/autofilter*.xml jest poprawnie sformowany. Jeśli plik został utworzony zewnętrznie, upewnij się, że spełnia standard ECMA-376. Use AutoFilter.range, filter_columns, i sort_state aby sprawdzić załadowany stan po wczytaniu.
Zaszyfrowane pliki XLSX nie mogą być odczytane
Objawy obejmują NotImplementedError: Standard encryption is not yet supported przy próbie otwarcia zaszyfrowanego .xlsx plik. Aspose.Cells FOSS obsługuje wyłącznie szyfrowanie Agile (ECMA-376 Part 2, Section 4) za pomocą AgileEncryptionParameters. Pliki zaszyfrowane przy użyciu starszego XOR lub standardowego szyfrowania ECMA-376 nie są obsługiwane. Użyj CFBReader.read_encryption_info() tylko wtedy, gdy plik używa szyfrowania Agile; w przeciwnym razie odszyfruj go zewnętrznie przed wczytaniem.
Cell Wartości nie są poprawnie parsowane z XML
Objawy obejmują nieprawidłowe wartości dat, ciągi liczbowe interpretowane jako liczby lub wartości błędów (np., #N/A) nie są rozpoznawane. Dzieje się to, gdy CellValueHandler.parse_value_from_xml() jest używany z niepoprawnym cell_type lub brakującym shared_strings kontekstem. Upewnij się, że cell_type zgadza się z ECMA-376 t atrybutem (np., 's' dla współdzielonego ciągu, 'n' dla liczby), i podaj wypełnioną shared_strings listę dla typów ciągów. Użyj CellValueHandler.get_cell_type() do walidacji wywnioskowanych typów przed parsowaniem.
Komunikaty o błędach
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, oraz AutoFilterXMLLoader, wraz z ich przyczynami i rozwiązaniami.
| Błąd | Przyczyna | Rozwiązanie |
|---|---|---|
NotImplementedError: Standard encryption is not yet supported | Próba odczytu lub zapisu zaszyfrowanego pliku XLSX przy użyciu szyfrowania nie‑Agile (np. XOR, RC4). | Użyj AgileEncryptionParameters i upewnij się, że plik używa szyfrowania Agile (ECMA-376 Part 2, Section 4). |
NotImplementedError: Only Agile encryption is currently supported | Używanie CFBWriter lub CFBReader z parametrami szyfrowania innymi niż Agile. | Skonfiguruj szyfrowanie za pomocą AgileEncryptionParameters przed wywołaniem write() lub read_encrypted_package(). |
NotImplementedError: Unsupported chart type for creation | Tworzenie wykresu typu nieobecnego w ChartType.LINE, BAR, PIE, AREA, lub STOCK. | Ogranicz tworzenie wykresów do obsługiwanych typów: LINE, BAR, PIE, AREA, STOCK. |
NotImplementedError: Only line, bar, pie, area and stock charts are currently supported | Zapisywanie nieobsługiwanych typów wykresów (np. WATERFALL, BOX_WHISKER) do XML. | Używaj tylko obsługiwanych ChartType wartości przy zapisywaniu wykresów za pomocą xml_chart_saver. |
ValueError: Invalid CSV content | Przekazano nieprawidłowe dane CSV do CSVHandler.load_csv_from_string() lub load_csv(). | Sprawdź składnię CSV przed załadowaniem. |
ValueError: Cell value type mismatch | Przekazywanie niekompatybilnego typu do CellValueHandler.format_value_for_xml() lub parse_value_from_xml(). | Użyj CellValueHandler.get_cell_type() aby określić prawidłowy typ komórki przed formatowaniem lub parsowaniem. |
Uzyskiwanie pomocy
Dla Aspose.Cells FOSS zgłaszaj problemy lub proś o funkcje za pośrednictwem GitHub Issues. Przejrzyj dokumentację klas takich jak AutoFilter, Cell, CSVHandler, oraz AgileEncryptionParameters. Skontaktuj się ze społecznością na GitHub Discussions w sprawie ogólnych pytań dotyczących używania biblioteki w przepływach pracy Python.
- GitHub Issues: https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Python/issues
- Dyskusje na GitHubie: https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Python/discussions
- Referencja API: https://reference.aspose.org/cells/python/
Zobacz także
Aby uzyskać powiązane wskazówki dotyczące radzenia sobie ze wspólnymi problemami w Aspose.Cells FOSS, przejrzyj dokumentację klas podstawowych, takich jak Cell, AutoFilter, CSVHandler, i AgileEncryptionParameters.