Panduan Pemecahan Masalah

Panduan Pemecahan Masalah

Masalah Umum

Bagian ini mencakup masalah yang sering dijumpai saat menggunakan Aspose.Cells FOSS di Python, khususnya dengan kelas dari permukaan API seperti Cell, AutoFilter, CSVHandler, dan CFBReader.

Impor CSV Gagal dengan Kesalahan Pengkodean

Gejala meliputi teks yang rusak atau UnicodeDecodeError saat memuat file CSV. Hal ini terjadi ketika file CSV menggunakan pengkodean non-UTF-8 (misalnya, cp1252 atau Shift-JIS). Untuk memperbaikinya, konversi file ke UTF-8 sebelum memuat, atau berikan instans CSVLoadOptions ke CSVHandler.load_csv():

from aspose.cells_foss import Workbook, CSVHandler, CSVLoadOptions

opts = CSVLoadOptions()
wb = Workbook()
CSVHandler.load_csv(wb, "data.csv", opts)

AutoFilter Tidak Diterapkan Setelah Memuat XLSX

Gejala meliputi kontrol filter yang hilang atau data yang tidak tersaring setelah memuat file .xlsx. Hal ini terjadi ketika AutoFilterXMLLoader.load_auto_filter() gagal secara diam-diam karena XML yang tidak terbentuk dengan baik di file sumber. Verifikasi bahwa xl/autofilters/autofilter*.xml pada file XLSX sudah terbentuk dengan baik. Jika file dibuat secara eksternal, pastikan file tersebut sesuai dengan ECMA-376. Gunakan AutoFilter.range, filter_columns, dan sort_state untuk memeriksa status yang dimuat setelah pemuatan.

File XLSX Terenkripsi Tidak Dapat Dibaca

Gejala meliputi NotImplementedError: Standard encryption is not yet supported saat mencoba membuka file .xlsx terenkripsi. Aspose.Cells FOSS hanya mendukung enkripsi Agile (ECMA-376 Bagian 2, Seksi 4) melalui AgileEncryptionParameters. File yang dienkripsi dengan XOR lama atau enkripsi ECMA-376 standar tidak didukung. Gunakan CFBReader.read_encryption_info() hanya jika file menggunakan enkripsi Agile; jika tidak, dekripsi secara eksternal sebelum memuat.

Nilai Cell Tidak Diurai dengan Benar dari XML

Gejala meliputi nilai tanggal yang salah, string numerik yang salah diinterpretasikan sebagai angka, atau nilai kesalahan (misalnya, #N/A) yang tidak dikenali. Hal ini terjadi ketika CellValueHandler.parse_value_from_xml() digunakan dengan cell_type yang salah atau konteks shared_strings yang hilang. Pastikan cell_type sesuai dengan atribut ECMA-376 t (misalnya, 's' untuk string bersama, 'n' untuk angka), dan berikan daftar shared_strings yang terisi untuk tipe string. Gunakan CellValueHandler.get_cell_type() untuk memvalidasi tipe yang disimpulkan sebelum penguraian.

Pesan Kesalahan

Aspose.Cells FOSS memunculkan kesalahan spesifik selama operasi I/O file, enkripsi, dan penguraian. Bagian ini mendokumentasikan pesan kesalahan umum dari kelas seperti CFBReader, CFBWriter, dan AutoFilterXMLLoader, beserta penyebab dan solusinya.

KesalahanPenyebabSolusi
NotImplementedError: Standard encryption is not yet supportedMencoba membaca atau menulis XLSX terenkripsi menggunakan enkripsi non-Agile (misalnya, XOR, RC4).Gunakan AgileEncryptionParameters dan pastikan file menggunakan enkripsi Agile (ECMA-376 Bagian 2, Seksi 4).
NotImplementedError: Only Agile encryption is currently supportedMenggunakan CFBWriter atau CFBReader dengan parameter enkripsi selain Agile.Konfigurasikan enkripsi melalui AgileEncryptionParameters sebelum memanggil write() atau read_encrypted_package().
NotImplementedError: Unsupported chart type for creationMembuat bagan dengan tipe yang tidak ada di ChartType.LINE, BAR, PIE, AREA, atau STOCK.Batasi pembuatan bagan ke tipe yang didukung: LINE, BAR, PIE, AREA, STOCK.
NotImplementedError: Only line, bar, pie, area and stock charts are currently supportedMenyimpan tipe bagan yang tidak didukung (misalnya, WATERFALL, BOX_WHISKER) ke XML.Gunakan hanya nilai ChartType yang didukung saat menyimpan bagan melalui xml_chart_saver.
ValueError: Invalid CSV contentData CSV yang tidak terbentuk dengan baik dikirimkan ke CSVHandler.load_csv_from_string() atau load_csv().Validasi sintaks CSV sebelum memuat.
ValueError: Cell value type mismatchMemberikan tipe yang tidak kompatibel ke CellValueHandler.format_value_for_xml() atau parse_value_from_xml().Gunakan CellValueHandler.get_cell_type() untuk menentukan tipe sel yang benar sebelum pemformatan atau penguraian.

Mendapatkan Bantuan

Untuk Aspose.Cells FOSS, laporkan masalah atau minta fitur melalui GitHub Issues. Tinjau dokumentasi untuk kelas seperti AutoFilter, Cell, CSVHandler, dan AgileEncryptionParameters. Libatkan komunitas di GitHub Discussions untuk pertanyaan umum tentang penggunaan pustaka dalam alur kerja Python.

Lihat Juga

Untuk panduan terkait dalam menangani masalah umum di Aspose.Cells FOSS, tinjau dokumentasi untuk kelas inti seperti Cell, AutoFilter, CSVHandler, dan AgileEncryptionParameters.

 Bahasa Indonesia