Panduan Penyelesaian Masalah
Masalah Biasa
Bahagian ini merangkumi masalah yang kerap dijumpai semasa menggunakan Aspose.Cells FOSS dalam Python, khususnya dengan kelas dari permukaan API seperti Cell, AutoFilter, CSVHandler, dan CFBReader.
Import CSV Gagal dengan Ralat Pengekodan
Gejala termasuk teks yang rosak atau UnicodeDecodeError semasa memuatkan fail CSV. Ini berlaku apabila fail CSV menggunakan pengekodan bukan UTF-8 (contohnya, cp1252 atau Shift-JIS). Untuk memperbaikinya, tukar fail ke UTF-8 sebelum memuatkan, atau berikan instans CSVLoadOptions kepada CSVHandler.load_csv():
from aspose.cells_foss import Workbook, CSVHandler, CSVLoadOptions
opts = CSVLoadOptions()
wb = Workbook()
CSVHandler.load_csv(wb, "data.csv", opts)AutoFilter Tidak Digunakan Selepas Memuatkan XLSX
Gejala termasuk kawalan penapis yang hilang atau data yang tidak ditapis selepas memuatkan fail .xlsx. Ini berlaku apabila AutoFilterXMLLoader.load_auto_filter() gagal secara senyap kerana XML yang tidak terformat dengan baik dalam fail sumber. Sahkan bahawa xl/autofilters/autofilter*.xml dalam fail XLSX adalah terformat dengan baik. Jika fail dibuat secara luaran, pastikan ia mematuhi ECMA-376. Gunakan AutoFilter.range, filter_columns, dan sort_state untuk memeriksa keadaan yang dimuatkan selepas pemuatan.
Fail XLSX Terenkripsi Tidak Dapat Dibaca
Gejala termasuk NotImplementedError: Standard encryption is not yet supported semasa cuba membuka fail .xlsx yang terenkripsi. Aspose.Cells FOSS hanya menyokong penyulitan Agile (ECMA-376 Bahagian 2, Seksyen 4) melalui AgileEncryptionParameters. Fail yang disulitkan dengan XOR lama atau penyulitan ECMA-376 standard tidak disokong. Gunakan CFBReader.read_encryption_info() hanya jika fail menggunakan penyulitan Agile; jika tidak, nyahsulit secara luaran sebelum memuatkan.
Nilai Cell Tidak Dihurai dengan Betul dari XML
Gejala termasuk nilai tarikh yang salah, rentetan numerik yang tersalah tafsir sebagai nombor, atau nilai ralat (contohnya, #N/A) yang tidak dikenali. Ini berlaku apabila CellValueHandler.parse_value_from_xml() digunakan dengan cell_type yang salah atau konteks shared_strings yang hilang. Pastikan cell_type sepadan dengan atribut ECMA-376 t (contohnya, 's' untuk rentetan kongsi, 'n' untuk nombor), dan berikan senarai shared_strings yang diisi untuk jenis rentetan. Gunakan CellValueHandler.get_cell_type() untuk mengesahkan jenis yang disimpulkan sebelum penghuraian.
Mesej Ralat
Aspose.Cells FOSS memunculkan ralat tertentu semasa operasi I/O fail, penyulitan, dan penghuraian. Bahagian ini mendokumentasikan mesej ralat biasa daripada kelas seperti CFBReader, CFBWriter, dan AutoFilterXMLLoader, berserta punca dan pembaikannya.
| Ralat | Punca | Pembaikan |
|---|---|---|
NotImplementedError: Standard encryption is not yet supported | Cuba membaca atau menulis XLSX terenkripsi menggunakan penyulitan bukan Agile (contohnya, XOR, RC4). | Gunakan AgileEncryptionParameters dan pastikan fail menggunakan penyulitan Agile (ECMA-376 Bahagian 2, Seksyen 4). |
NotImplementedError: Only Agile encryption is currently supported | Menggunakan CFBWriter atau CFBReader dengan parameter penyulitan selain Agile. | Konfigurasikan penyulitan melalui AgileEncryptionParameters sebelum memanggil write() atau read_encrypted_package(). |
NotImplementedError: Unsupported chart type for creation | Mencipta carta dengan jenis yang tidak ada dalam ChartType.LINE, BAR, PIE, AREA, atau STOCK. | Hadkan penciptaan carta kepada jenis yang disokong: LINE, BAR, PIE, AREA, STOCK. |
NotImplementedError: Only line, bar, pie, area and stock charts are currently supported | Menyimpan jenis carta yang tidak disokong (contohnya, WATERFALL, BOX_WHISKER) ke XML. | Gunakan hanya nilai ChartType yang disokong semasa menyimpan carta melalui xml_chart_saver. |
ValueError: Invalid CSV content | Data CSV yang tidak terformat dengan baik dihantar ke CSVHandler.load_csv_from_string() atau load_csv(). | Sahkan sintaks CSV sebelum memuatkan. |
ValueError: Cell value type mismatch | Memberikan jenis yang tidak serasi kepada CellValueHandler.format_value_for_xml() atau parse_value_from_xml(). | Gunakan CellValueHandler.get_cell_type() untuk menentukan jenis sel yang betul sebelum pemformatan atau penghuraian. |
Mendapatkan Bantuan
Untuk Aspose.Cells FOSS, laporkan masalah atau minta ciri melalui GitHub Issues. Semak dokumentasi untuk kelas seperti AutoFilter, Cell, CSVHandler, dan AgileEncryptionParameters. Libatkan komuniti di GitHub Discussions untuk soalan umum tentang penggunaan pustaka dalam aliran kerja 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
- Rujukan API: https://reference.aspose.org/cells/python/
Lihat Juga
Untuk panduan berkaitan mengenai mengendalikan masalah biasa dalam Aspose.Cells FOSS, semak dokumentasi untuk kelas teras seperti Cell, AutoFilter, CSVHandler, dan AgileEncryptionParameters.