Guide alla risoluzione dei problemi
Problemi comuni
Questa sezione tratta i problemi frequenti riscontrati nell’utilizzo di Aspose.Cells FOSS in Python, in particolare con le classi della superficie API come Cell, AutoFilter, CSVHandler e CFBReader.
Importazione CSV non riesce con errori di codifica
I sintomi includono testo corrotto o UnicodeDecodeError durante il caricamento di file CSV. Ciò si verifica quando il file CSV utilizza una codifica non UTF-8 (ad esempio, cp1252 o Shift-JIS). Per correggere il problema, convertire il file in UTF-8 prima del caricamento, oppure passare un’istanza di CSVLoadOptions a CSVHandler.load_csv():
from aspose.cells_foss import Workbook, CSVHandler, CSVLoadOptions
opts = CSVLoadOptions()
wb = Workbook()
CSVHandler.load_csv(wb, "data.csv", opts)AutoFilter Non applicato dopo il caricamento di XLSX
I sintomi includono controlli filtro mancanti o dati non filtrati dopo il caricamento di un file .xlsx. Ciò accade quando AutoFilterXMLLoader.load_auto_filter() fallisce silenziosamente a causa di XML non conforme nel file sorgente. Verificare che il xl/autofilters/autofilter*.xml del file XLSX sia ben formato. Se il file è stato creato esternamente, assicurarsi che sia conforme a ECMA-376. Utilizzare AutoFilter.range, filter_columns e sort_state per ispezionare lo stato caricato dopo il caricamento.
I file XLSX crittografati non possono essere letti
I sintomi includono NotImplementedError: Standard encryption is not yet supported quando si tenta di aprire un file .xlsx crittografato. Aspose.Cells FOSS supporta solo la crittografia Agile (ECMA-376 Parte 2, Sezione 4) tramite AgileEncryptionParameters. I file crittografati con XOR legacy o la crittografia standard ECMA-376 non sono supportati. Utilizzare CFBReader.read_encryption_info() solo se il file utilizza la crittografia Agile; in caso contrario, decrittografare esternamente prima del caricamento.
Valori di Cell non analizzati correttamente da XML
I sintomi includono valori di data errati, stringhe numeriche interpretate erroneamente come numeri, o valori di errore (ad esempio, #N/A) non riconosciuti. Ciò si verifica quando CellValueHandler.parse_value_from_xml() viene utilizzato con un cell_type errato o mancante del contesto shared_strings. Assicurarsi che cell_type corrisponda all’attributo ECMA-376 t (ad esempio, 's' per stringa condivisa, 'n' per numero), e fornire un elenco shared_strings popolato per i tipi stringa. Utilizzare CellValueHandler.get_cell_type() per convalidare i tipi dedotti prima del parsing.
Messaggi di errore
Aspose.Cells FOSS genera errori specifici durante le operazioni di I/O file, crittografia e parsing. Questa sezione documenta i messaggi di errore comuni dalle classi come CFBReader, CFBWriter e AutoFilterXMLLoader, insieme alle relative cause e correzioni.
| Errore | Causa | Correzione |
|---|---|---|
NotImplementedError: Standard encryption is not yet supported | Tentativo di leggere o scrivere un file XLSX crittografato utilizzando una crittografia non Agile (ad esempio, XOR, RC4). | Utilizzare AgileEncryptionParameters e assicurarsi che il file utilizzi la crittografia Agile (ECMA-376 Parte 2, Sezione 4). |
NotImplementedError: Only Agile encryption is currently supported | Utilizzo di CFBWriter o CFBReader con parametri di crittografia diversi da Agile. | Configurare la crittografia tramite AgileEncryptionParameters prima di chiamare write() o read_encrypted_package(). |
NotImplementedError: Unsupported chart type for creation | Creazione di un grafico di un tipo non presente in ChartType.LINE, BAR, PIE, AREA o STOCK. | Limitare la creazione di grafici ai tipi supportati: LINE, BAR, PIE, AREA, STOCK. |
NotImplementedError: Only line, bar, pie, area and stock charts are currently supported | Salvataggio di tipi di grafico non supportati (ad esempio, WATERFALL, BOX_WHISKER) in XML. | Utilizzare solo i valori ChartType supportati quando si salvano grafici tramite xml_chart_saver. |
ValueError: Invalid CSV content | Dati CSV non validi passati a CSVHandler.load_csv_from_string() o load_csv(). | Validare la sintassi CSV prima del caricamento. |
ValueError: Cell value type mismatch | Passaggio di un tipo incompatibile a CellValueHandler.format_value_for_xml() o parse_value_from_xml(). | Utilizzare CellValueHandler.get_cell_type() per determinare il tipo di cella corretto prima della formattazione o del parsing. |
Ottenere aiuto
Per Aspose.Cells FOSS, segnalare problemi o richiedere funzionalità tramite GitHub Issues. Esaminare la documentazione per le classi come AutoFilter, Cell, CSVHandler e AgileEncryptionParameters. Coinvolgere la community su GitHub Discussions per domande generali sull’utilizzo della libreria nei flussi di lavoro Python.
- GitHub Issues: https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Python/issues
- GitHub Discussions: https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Python/discussions
- Riferimento API: https://reference.aspose.org/cells/python/
Vedere anche
Per indicazioni correlate sulla gestione dei problemi comuni in Aspose.Cells FOSS, esaminare la documentazione per le classi principali come Cell, AutoFilter, CSVHandler e AgileEncryptionParameters.