Οδηγοί Επίλυσης Προβλημάτων
Κοινά Προβλήματα
Αυτή η ενότητα καλύπτει συχνά ζητήματα που προκύπτουν κατά τη χρήση του 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 ταιριάζει με το χαρακτηριστικό t του ECMA-376 (π.χ., '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.