Giới thiệu
Quản lý bảng tính là lõi của crate aspose-cells-foss-rust: các đối tượng mô hình một workbook, các sheet của nó, và các ô, cùng các thao tác chuyển dữ liệu Rust thành các tệp XLSX có thể trình bày. Bài viết này đi qua các khía cạnh đó — từ việc tạo sheet và ghi các giá trị có kiểu đến việc tạo kiểu, bố cục trang, và các tính năng cấu trúc làm cho workbook có thể sử dụng: bình luận, siêu liên kết, bảng và các tên đã định nghĩa.
Tất cả những gì được trình bày ở đây đều là một phần của crate mã nguồn mở, được cấp phép MIT. Không có bất kỳ cài đặt Microsoft Office nào được sử dụng ở bất kỳ bước nào; thư viện đọc và ghi định dạng gói XLSX một cách trực tiếp.
Phần này đã được xem xét dựa trên mô hình nguồn hiện tại cho hành vi sản phẩm mới nhất và phạm vi bao phủ API.
Các tính năng chính
Các worksheet và bộ sưu tập ô
Các worksheet được quản lý thông qua các bộ sưu tập worksheet của workbook. Các sheet được truy cập bằng chỉ mục hoặc tên, có thể đổi tên bằng set_name, và các ô của chúng được truy cập qua get_cells (đọc) hoặc get_cells_mut (ghi):
let mut workbook = Workbook::new();
{
let mut worksheets = workbook.get_worksheets_mut();
let sheet = worksheets.get(0)?;
sheet.set_name("Charts")?;
{
let mut cells = sheet.get_cells_mut();
cells.get("A1")?.put_value_string("Month")?;
cells.get("B1")?.put_value_string("Sales")?;
}
}
Giá trị Kiểu theo Tên hoặc Chỉ mục
Các ô chấp nhận chuỗi, số nguyên, boolean, số thập phân và ngày-giờ thông qua các setter có kiểu. Các ô có thể được truy cập theo kiểu A1 (get("B3")) hoặc theo số (get_by_index(row, column)), phù hợp với các bố cục được tạo tự động:
for month in 1..=12_u32 {
cells
.get_by_index(month, 0)
.put_value_string(format!("Month {month}"))?;
cells
.get_by_index(month, 1)
.put_value_i32((month as i32 * 1000) + (month as i32 * 50))?;
}
Công thức với Giá trị Được lưu trong bộ nhớ đệm
put_formula_with_cached_value lưu trữ văn bản công thức cùng với giá trị mà Excel sẽ hiển thị trước khi tính lại lần đầu — quan trọng khi tệp được các công cụ khác tiêu thụ và đọc kết quả đã lưu trong bộ nhớ cache:
cells.get("F1")?.put_value_i32(10)?;
cells.get("G1")?
.put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;
Định dạng và Bố cục Trang
CellStyle chứa Font, Fill và Borders; StyleFlag chọn những khía cạnh kiểu nào sẽ được áp dụng khi cập nhật. NumberFormat điều khiển cách hiển thị giá trị, và PageSetup quản lý PaperSizeType và PageOrientationType cho việc in. FreezePane và VisibilityType của hàng/cột giúp các sheet lớn có thể di chuyển được.
Bình luận, Siêu liên kết và Tên
Các quy trình và điều hướng của người xem được bao phủ bởi Comment và CommentCollection, Hyperlink cùng với HyperlinkCollection, và DefinedName cùng với DefinedNameCollection cho các phạm vi có tên.
Bảng có cấu trúc và bộ lọc
ListObject chuyển một phạm vi thành một bảng có cấu trúc với kiểu TableStyleType và các hàng TotalsCalculation; AutoFilter thêm khả năng lọc với các điều kiện FilterColumn và FilterOperatorType.
Bắt đầu nhanh
Thêm crate vào Cargo.toml của bạn dưới dạng phụ thuộc git (crate chưa được phát hành trên crates.io):
# Cargo.toml
[dependencies]
aspose-cells-foss-rust = { git = "https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Rust" }Một phiên quản lý bảng tính tối thiểu — tạo, ghi, lưu, tải lại:
use aspose_cells_foss_rust::{CellValue, Workbook};
use std::error::Error;
fn main() -> Result<(), Box<dyn Error>> {
let mut workbook = Workbook::new();
{
let mut worksheets = workbook.get_worksheets_mut();
let sheet = worksheets.get(0)?;
let mut cells = sheet.get_cells_mut();
cells.get("A1")?.put_value_string("Item")?;
cells.get("B1")?.put_value_string("Quantity")?;
cells.get("A2")?.put_value_string("Apples")?;
cells.get("B2")?.put_value_i32(12)?;
}
workbook.save("inventory.xlsx")?;
let loaded = Workbook::load_xlsx("inventory.xlsx")?;
let sheet = loaded.worksheet("Sheet1")?;
let cells = sheet.get_cells();
println!("A2 = {}", cells.get("A2")?.display_string_value());
Ok(())
}
Định dạng được hỗ trợ
| Định dạng | Mở rộng | Đọc | Ghi |
|---|---|---|---|
| XLSX | .xlsx | ✓ | ✓ |
Tải chấp nhận các cờ sửa chữa LoadOptions (try_repair_package, try_repair_xml) với LoadDiagnostics có cấu trúc; lưu được thực hiện qua save, save_xlsx hoặc save_with_format với enum SaveFormat.
Mã nguồn mở & Bản quyền
Aspose.Cells FOSS cho Rust được cấp phép MIT. Mã nguồn nằm trên GitHub; việc sử dụng thương mại, sửa đổi và phân phối lại được phép.