Làm việc với lớp Workbook Model Layer
Lý làm việc với lớp mô hình Workbook
Dưới API hướng tới người dùng, crate giữ một lớp mô hình dữ liệu thuần phản chiếu gói XLSX: các struct giá trị, mô hình quy tắc và bộ nhớ chia sẻ. Hầu hết các ứng dụng không bao giờ chạm tới các kiểu này trực tiếp, nhưng chúng xuất hiện khi bạn kiểm tra sâu các workbook đã tải hoặc đóng góp vào crate itself.
Các kiểu giá trị
ColorValue chứa các thành phần màu ARGB dưới dạng các trường a, r, g, b đơn giản, với equals và get_hash_code để so sánh. Định dạng số ở cấp mô hình nằm trong NumberFormatValue, hỗ trợ clone để sao chép định nghĩa định dạng giữa các bản ghi mô hình.
Mô hình quy tắc
Các quy tắc chất lượng dữ liệu có bản sao mô hình: ValidationModel hiển thị areas, validation_type, alert_style, operator của quy tắc, và các biểu thức formula1 / formula2 dưới dạng các trường; FormatConditionModel và ConditionalFormattingModel đóng vai trò tương tự cho các bản ghi định dạng có điều kiện. Chúng được tạo bằng default và được điền dữ liệu từng trường một.
Bộ nhớ chuỗi chia sẻ
Các tệp XLSX lưu trữ văn bản ô lặp lại trong bảng shared-strings. SharedStringRepository mô hình hoá nó như một interner:
internthêm một chuỗi và trả về chỉ mục của nó (tái sử dụng các mục đã tồn tại),try_get_valuegiải quyết một chỉ mục trở lại chuỗi của nó,clearđặt lại kho lưu trữ.
Diagnostics
DiagnosticBag thu thập các vấn đề có cấu trúc qua add trong quá trình vận hành mô hình. Ở mức API cùng thông tin này được gửi tới bạn qua LoadDiagnostics khi tải sổ làm việc — xem Tổng quan tính năng.
Mẹo và Thực hành Tốt nhất
- Ưu tiên API hướng tới người dùng (
Workbook,Worksheet, các bộ sưu tập ô) — lớp mô hình không cần thiết cho công việc bảng tính thường ngày. - Xử lý các struct mô hình như các bản ghi dữ liệu: khởi tạo bằng
default, sau đó đặt các trường một cách rõ ràng. - Khi điều tra các tệp bị lỗi, kết hợp các cờ sửa chữa
LoadOptionsvới các chẩn đoán mà bộ tải báo cáo.
Các vấn đề thường gặp
| Vấn đề | Nguyên nhân | Khắc phục |
|---|---|---|
| Chuỗi chia sẻ trùng lặp | Bỏ qua interner | Chuyển hướng văn bản qua SharedStringRepository.intern |
| Quy tắc xác thực bị bỏ qua | Các trường mô hình chưa đầy đủ | Đặt validation_type, operator và formula1 trên ValidationModel |
FAQ
Tôi có cần lớp mô hình để viết bảng tính không?
Không. Workbook API bao gồm việc tạo, chỉnh sửa và lưu sổ làm việc; lớp mô hình hỗ trợ nó.
Tại sao các struct mô hình lại sử dụng các hàm khởi tạo default?
Chúng là các bản ghi dữ liệu thuần túy phản ánh cấu trúc XLSX — default cung cấp một bản ghi rỗng mà bạn điền các trường từng cái một.
API Reference Tóm tắt
| Lớp/Phương thức | Mô tả |
|---|---|
ColorValue | Bản ghi màu ARGB (a, r, g, b) |
NumberFormatValue.clone | Sao chép định nghĩa định dạng số |
ValidationModel | Bản ghi quy tắc xác thực (các vùng, toán tử, công thức) |
FormatConditionModel.default | Bản ghi quy tắc định dạng có điều kiện rỗng |
SharedStringRepository.intern | Nội bộ hoá một chuỗi, trả về chỉ mục của nó |
SharedStringRepository.try_get_value | Giải quyết một chỉ mục đã interned |
DiagnosticBag.add | Ghi lại chẩn đoán có cấu trúc |