คู่มือการแก้ไขปัญหา
Common Issues
ส่วนนี้ครอบคลุมปัญหาที่พบบ่อยเมื่อใช้ Aspose.Cells FOSS ใน Python โดยเฉพาะกับคลาสจาก API surface เช่น Cell, AutoFilter, CSVHandler, และ CFBReader.
CSV Import Fails with Encoding Errors
อาการรวมถึงข้อความที่อ่านไม่ออกหรือ 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 ที่ผิดรูปในไฟล์ต้นทาง. ตรวจสอบว่า XLSX’s xl/autofilters/autofilter*.xml เป็นรูปแบบที่ถูกต้อง. หากไฟล์ถูกสร้างจากภายนอก, ตรวจสอบให้แน่ใจว่าตรงตาม ECMA-376. ใช้ AutoFilter.range, filter_columns, และ sort_state เพื่อตรวจสอบสถานะที่โหลดแล้วหลังจากการโหลด.
Encrypted XLSX Files Cannot Be Read
อาการรวมถึง NotImplementedError: Standard encryption is not yet supported เมื่อพยายามเปิดไฟล์ที่เข้ารหัส .xlsx ไฟล์. Aspose.Cells FOSS รองรับการเข้ารหัสแบบ Agile เท่านั้น (ECMA-376 Part 2, Section 4) ผ่าน AgileEncryptionParameters. ไฟล์ที่เข้ารหัสด้วย legacy XOR หรือการเข้ารหัสมาตรฐาน ECMA-376 ไม่ได้รับการสนับสนุน. ใช้ CFBReader.read_encryption_info() เฉพาะเมื่อไฟล์ใช้การเข้ารหัส Agile; หากไม่เป็นเช่นนั้น ให้ถอดรหัสภายนอกก่อนโหลด.
Cell ค่าที่ไม่สามารถแยกวิเคราะห์ได้อย่างถูกต้องจาก XML
อาการรวมถึงค่าที่เป็นวันที่ไม่ถูกต้อง, สตริงตัวเลขที่ถูกตีความเป็นตัวเลข, หรือค่าข้อผิดพลาด (เช่น., #N/A) ไม่ได้รับการรับรู้. สิ่งนี้เกิดขึ้นเมื่อ CellValueHandler.parse_value_from_xml() ถูกใช้กับไม่ถูกต้อง cell_type หรือหายไป shared_strings บริบท. ตรวจสอบให้แน่ใจว่า cell_type ตรงกับ ECMA-376 t แอตทริบิวต์ (เช่น,., 's' สำหรับ shared string, 'n' สำหรับ number), และให้รายการที่เติมเต็ม shared_strings รายการสำหรับประเภท string. ใช้ CellValueHandler.get_cell_type() เพื่อตรวจสอบประเภทที่สรุปก่อนทำการพาร์ส.
Error Messages
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, และ AutoFilterXMLLoader, พร้อมกับสาเหตุและวิธีแก้ของพวกมัน.
| ข้อผิดพลาด | สาเหตุ | วิธีแก้ |
|---|---|---|
NotImplementedError: Standard encryption is not yet supported | พยายามอ่านหรือเขียน XLSX ที่เข้ารหัสโดยใช้การเข้ารหัสแบบ non-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() เพื่อกำหนดประเภทเซลล์ที่ถูกต้องก่อนทำการจัดรูปแบบหรือการแยกวิเคราะห์. |
Getting Help
สำหรับ Aspose.Cells FOSS ให้รายงานปัญหาหรือขอฟีเจอร์ผ่าน GitHub Issues. ตรวจสอบเอกสารสำหรับคลาสเช่น AutoFilter, Cell, CSVHandler, และ AgileEncryptionParameters. มีส่วนร่วมกับชุมชนใน GitHub Discussions สำหรับคำถามทั่วไปเกี่ยวกับการใช้ไลบรารีในกระบวนการทำงานของ Python.
- GitHub Issues: 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.