บทนำ

การจัดการสเปรดชีตเป็นแกนหลักของ crate aspose-cells-foss-rust: วัตถุที่จำลองสมุดงาน, แผ่นงานของมัน, และเซลล์ต่าง ๆ, รวมถึงการดำเนินการที่แปลงข้อมูล Rust ให้เป็นไฟล์ XLSX ที่นำเสนอได้ โพสต์นี้จะพาคุณผ่านพื้นผิวนั้น — ตั้งแต่การสร้างแผ่นงานและการเขียนค่าที่มีชนิด ไปจนถึงการจัดสไตล์, การจัดหน้ากระดาษ, และคุณลักษณะโครงสร้างที่ทำให้สมุดงานใช้งานได้: ความคิดเห็น, ไฮเปอร์ลิงก์, ตาราง, และชื่อที่กำหนดไว้.

ทุกอย่างที่แสดงที่นี่เป็นส่วนหนึ่งของ crate แบบเปิดแหล่งที่มาและได้รับใบอนุญาต MIT. ไม่มีการติดตั้ง Microsoft Office ใด ๆ เข้ามาเกี่ยวข้องในขั้นตอนใดขั้นตอนหนึ่ง; ไลบรารีนี้อ่านและเขียนรูปแบบแพ็กเกจ XLSX โดยตรง.

ส่วนนี้ได้ผ่านการตรวจสอบกับโมเดลซอร์สปัจจุบันเพื่อยืนยันพฤติกรรมผลิตภัณฑ์ล่าสุดและการครอบคลุมของ API.


คุณสมบัติหลัก

แผ่นงานและชุดเซลล์

แผ่นงานจะถูกจัดการผ่านคอลเลกชันแผ่นงานของสมุดงาน แผ่นงานจะอ้างอิงโดยดัชนีหรือชื่อ, เปลี่ยนชื่อด้วย set_name, และเซลล์ของมันจะเข้าถึงได้ผ่าน get_cells (อ่าน) หรือ get_cells_mut (เขียน):

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")?;
    }
}

ค่าที่กำหนดประเภทโดยชื่อหรือดัชนี

เซลล์รับสตริง, จำนวนเต็ม, บูลีน, ทศนิยม, และวันเวลา ผ่านตัวตั้งค่าที่มีชนิด เซลล์สามารถอ้างอิงแบบสไตล์ A1 (get("B3")) หรือแบบเชิงตัวเลข (get_by_index(row, column)) ซึ่งเหมาะกับการจัดรูปแบบที่สร้างขึ้นอัตโนมัติ:

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))?;
}

สูตรพร้อมค่าที่แคชไว้

put_formula_with_cached_value เก็บข้อความสูตรพร้อมกับค่าที่ Excel ควรแสดงก่อนการคำนวณใหม่ครั้งแรก — สิ่งสำคัญเมื่อไฟล์ถูกใช้งานโดยเครื่องมืออื่นที่อ่านผลลัพธ์ที่แคชไว้:

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

การจัดสไตล์และการจัดหน้า

CellStyle มี Font, Fill, และ Borders; StyleFlag เลือกว่าข้อกำหนดสไตล์ใดที่จะนำไปใช้ในการอัปเดต NumberFormat ควบคุมการแสดงค่า, และ PageSetup จัดการ PaperSizeType และ PageOrientationType สำหรับการพิมพ์ FreezePane และ VisibilityType ของแถว/คอลัมน์ทำให้แผ่นงานขนาดใหญ่สามารถนำทางได้.

คอมเมนต์, ไฮเปอร์ลิงก์, และชื่อ

กระบวนการทำงานและการนำทางของผู้ตรวจสอบครอบคลุมโดย Comment และ CommentCollection, Hyperlink พร้อมกับ HyperlinkCollection, และ DefinedName พร้อมกับ DefinedNameCollection สำหรับช่วงที่ตั้งชื่อ.

ตารางเชิงโครงสร้างและตัวกรอง

ListObject แปลงช่วงเป็นตารางที่มีโครงสร้างพร้อมสไตล์ TableStyleType และแถว TotalsCalculation; AutoFilter เพิ่มการกรองด้วยเงื่อนไข FilterColumn และ FilterOperatorType.


เริ่มต้นอย่างเร็ว

เพิ่ม crate ไปยัง Cargo.toml ของคุณเป็น dependency จาก git (crate นี้ยังไม่ได้เผยแพร่บน crates.io):

# Cargo.toml
[dependencies]
aspose-cells-foss-rust = { git = "https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-Rust" }

เซสชันการจัดการสเปรดชีตแบบมินิมัล — สร้าง, เขียน, บันทึก, โหลดใหม่:

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(())
}

รูปแบบที่รองรับ

รูปแบบส่วนขยายอ่านเขียน
XLSX.xlsx

การโหลดรับแฟล็กการซ่อมแซม LoadOptions (try_repair_package, try_repair_xml) พร้อมกับ LoadDiagnostics ที่มีโครงสร้าง; การบันทึกทำผ่าน save, save_xlsx, หรือ save_with_format ด้วย enum SaveFormat.


โอเพนซอร์ส & การให้สิทธิ์

Aspose.Cells FOSS สำหรับ Rust ได้รับใบอนุญาต MIT. โค้ดต้นฉบับอยู่บน GitHub; การใช้เชิงพาณิชย์, การแก้ไข, และการกระจายต่อได้รับอนุญาต.


เริ่มต้น

ทรัพยากรที่เกี่ยวข้อง