Hướng dẫn khắc phục sự cố
Các vấn đề thường gặp
Phần này đề cập đến các vấn đề thường gặp khi sử dụng Aspose.Cells FOSS trong Python, đặc biệt với các lớp từ bề mặt API như Cell, AutoFilter, CSVHandler và CFBReader.
Nhập CSV thất bại với lỗi mã hóa
Các triệu chứng bao gồm văn bản bị lỗi hoặc UnicodeDecodeError khi tải file CSV. Điều này xảy ra khi file CSV sử dụng mã hóa không phải UTF-8 (ví dụ: cp1252 hoặc Shift-JIS). Để khắc phục, hãy chuyển đổi file sang UTF-8 trước khi tải, hoặc truyền một phiên bản CSVLoadOptions vào CSVHandler.load_csv():
from aspose.cells_foss import Workbook, CSVHandler, CSVLoadOptions
opts = CSVLoadOptions()
wb = Workbook()
CSVHandler.load_csv(wb, "data.csv", opts)AutoFilter Không được áp dụng sau khi tải XLSX
Các triệu chứng bao gồm thiếu điều khiển bộ lọc hoặc dữ liệu chưa được lọc sau khi tải file .xlsx. Điều này xảy ra khi AutoFilterXMLLoader.load_auto_filter() thất bại im lặng do XML không đúng định dạng trong file nguồn. Xác minh rằng xl/autofilters/autofilter*.xml trong file XLSX có định dạng đúng. Nếu file được tạo bên ngoài, hãy đảm bảo nó tuân thủ ECMA-376. Sử dụng AutoFilter.range, filter_columns và sort_state để kiểm tra trạng thái đã tải sau khi tải.
Không thể đọc các file XLSX đã mã hóa
Các triệu chứng bao gồm NotImplementedError: Standard encryption is not yet supported khi cố gắng mở file .xlsx đã mã hóa. Aspose.Cells FOSS chỉ hỗ trợ mã hóa Agile (ECMA-376 Phần 2, Mục 4) qua AgileEncryptionParameters. Các file được mã hóa bằng XOR cũ hoặc mã hóa ECMA-376 tiêu chuẩn không được hỗ trợ. Chỉ sử dụng CFBReader.read_encryption_info() nếu file sử dụng mã hóa Agile; nếu không, hãy giải mã bên ngoài trước khi tải.
Giá trị Cell không được phân tích đúng từ XML
Các triệu chứng bao gồm giá trị ngày không chính xác, chuỗi số bị hiểu nhầm là số, hoặc các giá trị lỗi (ví dụ: #N/A) không được nhận dạng. Điều này xảy ra khi CellValueHandler.parse_value_from_xml() được sử dụng với cell_type không đúng hoặc thiếu ngữ cảnh shared_strings. Đảm bảo cell_type khớp với thuộc tính ECMA-376 t (ví dụ: 's' cho chuỗi chia sẻ, 'n' cho số), và cung cấp danh sách shared_strings đã điền đầy đủ cho các kiểu chuỗi. Sử dụng CellValueHandler.get_cell_type() để xác nhận các kiểu được suy luận trước khi phân tích.
Thông báo lỗi
Aspose.Cells FOSS tạo ra các lỗi cụ thể trong quá trình thực hiện I/O file, mã hóa và các thao tác phân tích. Phần này ghi lại các thông báo lỗi thường gặp từ các lớp như CFBReader, CFBWriter và AutoFilterXMLLoader, cùng với nguyên nhân và cách khắc phục.
| Lỗi | Nguyên nhân | Khắc phục |
|---|---|---|
NotImplementedError: Standard encryption is not yet supported | Cố gắng đọc hoặc ghi XLSX đã mã hóa sử dụng mã hóa không phải Agile (ví dụ: XOR, RC4). | Sử dụng AgileEncryptionParameters và đảm bảo file sử dụng mã hóa Agile (ECMA-376 Phần 2, Mục 4). |
NotImplementedError: Only Agile encryption is currently supported | Sử dụng CFBWriter hoặc CFBReader với các tham số mã hóa khác Agile. | Cấu hình mã hóa qua AgileEncryptionParameters trước khi gọi write() hoặc read_encrypted_package(). |
NotImplementedError: Unsupported chart type for creation | Tạo biểu đồ với kiểu không có trong ChartType.LINE, BAR, PIE, AREA hoặc STOCK. | Giới hạn việc tạo biểu đồ ở các kiểu được hỗ trợ: LINE, BAR, PIE, AREA, STOCK. |
NotImplementedError: Only line, bar, pie, area and stock charts are currently supported | Lưu các kiểu biểu đồ không được hỗ trợ (ví dụ: WATERFALL, BOX_WHISKER) vào XML. | Chỉ sử dụng các giá trị ChartType được hỗ trợ khi lưu biểu đồ qua xml_chart_saver. |
ValueError: Invalid CSV content | Dữ liệu CSV không đúng định dạng được truyền vào CSVHandler.load_csv_from_string() hoặc load_csv(). | Xác thực cú pháp CSV trước khi tải. |
ValueError: Cell value type mismatch | Truyền kiểu không tương thích vào CellValueHandler.format_value_for_xml() hoặc parse_value_from_xml(). | Sử dụng CellValueHandler.get_cell_type() để xác định kiểu ô đúng trước khi định dạng hoặc phân tích. |
Nhận trợ giúp
Đối với Aspose.Cells FOSS, hãy báo cáo sự cố hoặc yêu cầu tính năng qua GitHub Issues. Xem lại tài liệu cho các lớp như AutoFilter, Cell, CSVHandler và AgileEncryptionParameters. Tham gia cộng đồng trên GitHub Discussions cho các câu hỏi chung về việc sử dụng thư viện trong các quy trình làm việc 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
- Tài liệu tham khảo API: https://reference.aspose.org/cells/python/
Xem thêm
Để có hướng dẫn liên quan về xử lý các vấn đề thường gặp trong Aspose.Cells FOSS, hãy xem lại tài liệu cho các lớp cốt lõi như Cell, AutoFilter, CSVHandler và AgileEncryptionParameters.