مقدمة

إدارة جداول البيانات هي جوهر الـ aspose-cells-foss-rust crate: الكائنات التي تمثل دفتر العمل، أوراقه، وخلاياها، والعمليات التي تحول بيانات Rust إلى ملفات XLSX قابلة للعرض. تستعرض هذه المشاركة هذا السطح — من إنشاء الأوراق وكتابة القيم ذات الأنواع إلى التنسيق، تخطيط الصفحة، والميزات الهيكلية التي تجعل دفاتر العمل قابلة للاستخدام: التعليقات، الروابط التشعبية، الجداول، والأسماء المعرفة.

كل ما هو معروض هنا هو جزء من الحزمة المفتوحة المصدر المرخصة برخصة 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.


البدء السريع

أضف الحزمة إلى ملف Cargo.toml كاعتماد git (الحزمة لم تُنشر بعد على 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 باستخدام تعداد SaveFormat.


المصدر المفتوح والترخيص

Aspose.Cells FOSS للـ Rust مرخص بـ MIT. الشيفرة المصدرية موجودة على GitHub؛ يُسمح بالاستخدام التجاري والتعديل وإعادة التوزيع.


البدء

الموارد ذات الصلة