Làm việc với Quản lý Bảng tính

Làm việc với Quản lý Bảng tính

Làm việc với Quản lý Bảng tính

Quản lý bảng tính bao phủ bề mặt đối tượng hàng ngày của crate: các bảng tính, tập hợp ô, giá trị có kiểu, công thức, kiểu dáng, và các tính năng cấu trúc làm cho một workbook có thể sử dụng được. Điểm vào luôn là một Workbook.


Worksheets

Các sheet được quản lý thông qua các bộ sưu tập bảng tính của workbook — truy cập đọc qua get_worksheets, thay đổi qua get_worksheets_mut. Các sheet được định vị bằng chỉ mục (get(0)) hoặc tên (get_by_name), đổi tên bằng set_name, và thêm bằng add_worksheet:

let mut workbook = Workbook::new();
{
    let mut worksheets = workbook.get_worksheets_mut();
    let sheet = worksheets.get(0)?;
    sheet.set_name("Data")?;
}

Truy cập Ô và Giá trị Có Kiểu

Các ô được định vị theo kiểu A1 hoặc dạng số. get_by_index(row, column) phù hợp với các bố cục được tạo:

let mut cells = sheet.get_cells_mut();
cells.get("A1")?.put_value_string("Month")?;
for month in 1..=12_u32 {
    cells
        .get_by_index(month, 0)
        .put_value_string(format!("Month {month}"))?;
}

Khi đọc lại, display_string_value trả về văn bản hiển thị và value_type báo cáo kiểu đã lưu.


Công thức với kết quả được lưu trong bộ nhớ đệm

cells.get("F1")?.put_value_i32(10)?;
cells.get("G1")?
    .put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;

Giá trị được lưu trong bộ nhớ đệm là những gì Excel hiển thị trước khi tính lại lần đầu — cung cấp nó để người dùng tệp nhìn thấy kết quả đúng ngay lập tức.


Styling

CellStyle tổng hợp Font, Fill, và Borders; StyleFlag kiểm soát các khía cạnh định dạng mà một cập nhật áp dụng, vì vậy định dạng hiện có được giữ nguyên ở những nơi bạn không ghi đè. NumberFormat quyết định cách các giá trị được hiển thị.


Cài đặt trang và Điều hướng

PageSetup quản lý bố cục in: PaperSizeType, PageOrientationType, và lề. FreezePane giữ các hàng tiêu đề luôn hiển thị khi cuộn, và việc hiển thị hàng và cột sử dụng VisibilityType.


Cấu trúc: Bảng, Tên, Bình luận, Siêu liên kết

  • ListObject chuyển một phạm vi thành bảng có cấu trúc với TableStyleType và các hàng tổng TotalsCalculation.
  • DefinedNameDefinedNameCollection quản lý các phạm vi có tên.
  • Comment / CommentCollectionHyperlink / HyperlinkCollection bao phủ chú thích và điều hướng.

Mẹo và Thực hành Tốt nhất

  • Giữ các tham chiếu có thể thay đổi (get_worksheets_mut, get_cells_mut) bên trong một khối phạm vi; lưu sổ làm việc sau khi khối đóng lại.
  • Sử dụng get_by_index cho các vòng lặp và bố cục được tạo; tên A1 cho các vị trí cố định.
  • Áp dụng kiểu với một StyleFlag để định dạng không liên quan không bị thay đổi.
  • Đặt tên các phạm vi quan trọng bằng DefinedName thay vì mã hóa địa chỉ cứng.

Các vấn đề thường gặp

Vấn đềNguyên nhânKhắc phục
Lỗi mượn khi lưu sổ làm việcViệc mượn worksheet có thể thay đổi vẫn còn tồn tạiĐóng khối phạm vi trước khi gọi save
Công thức hiển thị 0 trong ExcelKhông có giá trị bộ nhớ đệm được cung cấpSử dụng put_formula_with_cached_value với kết quả mong đợi
Không tìm thấy sheetTên không khớpĐịa chỉ theo chỉ mục hoặc kiểm tra chính tả set_name

FAQ

Làm sao để thêm một worksheet thứ hai?

Gọi add_worksheet trên workbook, sau đó lấy nó qua bộ sưu tập worksheet bằng chỉ mục hoặc tên.

Tôi có thể đọc và ghi trong cùng một lượt không?

Có — tải bằng Workbook::load_xlsx, thay đổi qua get_worksheets_mut, và save tới cùng một đường dẫn hoặc một đường dẫn mới.

Các setter có kiểu có chuyển đổi giá trị không?

Không có chuyển đổi nào được áp dụng: mỗi setter put_value_* lưu trữ kiểu gốc của nó; display_string_value hiển thị văn bản hiển thị khi đọc.


API Reference Tóm tắt

Lớp/Phương thứcMô tả
Workbook.add_worksheetThêm một sheet vào workbook
Worksheet.set_nameĐổi tên một sheet
Worksheet.get_cells_mutBộ sưu tập ô có thể thay đổi
CellMut.put_value_stringBộ đặt chuỗi có kiểu
CellMut.put_formula_with_cached_valueCông thức cộng kết quả đã được lưu trong bộ đệm
CellStyleĐịnh dạng phông chữ, nền và viền
StyleFlagChọn các khía cạnh kiểu sẽ áp dụng
PageSetupBố cục in và trang
ListObjectBảng có cấu trúc

Xem thêm

 Tiếng Việt