1. محصولات
  2.   Aspose.Cells
  3.   Aspose.Cells FOSS for Rust

Aspose.Cells FOSS برای Rust

crate منبع باز Rust برای ایجاد، خواندن، ویرایش و ذخیره‌سازی صفحات‌گسترده Excel XLSX بدون وابستگی به Office.

Aspose.Cells FOSS — کتابخانه منبع باز Rust

Aspose.Cells FOSS for Rust یک کتابخانهٔ متن‌باز برای کار با صفحات گستردهٔ Excel XLSX در برنامه‌های Rust است. این کتابخانه به برنامه‌نویسان سیستمی یک روش بومی و ایمن از نظر حافظه برای ایجاد کتاب‌کارها از ابتدا، بارگذاری فایل‌های XLSX موجود، تغییر محتویات آن‌ها و ذخیرهٔ نتیجه ارائه می‌دهد — بدون نیاز به Microsoft Office، خودکارسازی COM یا هر زمان‌اجرای خارجی.

این crate ساختار کامل درخت شیء صفحه‌گسترده را مدل می‌کند: Workbook، Worksheet و مجموعه‌های سلول با تنظیم‌کننده‌های مقدار تایپ‌شده (put_value_string، put_value_i32، put_value_bool، put_value_decimal)، فرمول‌ها با مقادیر کش‌شده از طریق put_formula_with_cached_value، نمودارها (Chart، ChartType)، قالب‌بندی شرطی (FormatCondition)، اعتبارسنجی داده (Validation)، فیلترهای خودکار (AutoFilter)، قالب‌بندی سلول (CellStyle، Font، Fill، Borders)، تنظیمات صفحه (PageSetup)، تصاویر، شکل‌ها، نظرات، پیوندهای فراخوانی، جدول‌ها (ListObject)، اسپارکلاین‌ها (SparklineGroup)، نام‌های تعریف‌شده و حفاظت کتاب‌کار/برگه کاری.

Aspose.Cells FOSS for Rust تحت مجوز MIT منتشر شده و هدف‌گذاری آن نسخهٔ 2021 Rust است. این کتابخانه به‌عنوان یک وابستگی استاندارد Cargo از مخزن GitHub نصب می‌شود — برای ورودی دقیق Cargo.toml به راهنمای نصب مراجعه کنید. خطاها از طریق انواع Result متعارف (CellsError) بازتاب می‌یابند و بارگذاری XLSX گزینه‌های تعمیر (LoadOptions) همراه با تشخیص ساختار یافته (LoadDiagnostics) را ارائه می‌دهد. برای خانوادهٔ محصولات سازمانی، به Aspose.Cells — Enterprise Product Family مراجعه کنید.

مدیریت کتاب کار و برگه کاری

  • ایجاد کتاب‌کارهای خالی با Workbook::new یا بارگذاری فایل‌های موجود با Workbook::load_xlsx
  • افزودن و دسترسی به شیت‌ها از طریق add_worksheet، worksheet و مجموعه‌های شیت قابل تغییر
  • ذخیره در دیسک با save، save_xlsx یا save_with_format با فرمت صریح
  • کنترل نمای کتاب‌کار، تنظیمات و خصوصیات سند

محل قرارگیری

  • سرویس‌های بک‌اند که گزارش‌های XLSX را بدون نصب Office تولید می‌کنند
  • ابزارهای CLI که به صورت دسته‌ای یا پس‌پردازش برگه‌های‌کاری تولید می‌کنند
  • خطوط لوله داده‌ای Rust که نتایج جدولی را برای کاربران تجاری صادر می‌کنند

داده‌های سلول، فرمول‌ها و انواع

  • تنظیم‌کننده‌های نوعی: put_value_string, put_value_i32, put_value_bool, put_value_decimal, put_value_date_time
  • نوشتن فرمول‌ها با نتایج کش‌شده از طریق put_formula_with_cached_value
  • خواندن مقادیر بازگردانده با display_string_value و value_type
  • آدرس‌گذاری سلول‌ها بر اساس نام A1 یا ایندکس ردیف/ستون (get, get_by_index)

موارد کاربردی

  • صادرات مالی که در آنها فرمول‌ها باید با مقادیر کش‌شده صحیح باز شوند
  • قالب‌های ورود داده با ستون‌های تایپ‌شده
  • ویرایش دورگرد کتاب‌های کاری ارائه‌شده توسط کاربر

استایل و طرح‌بندی

  • استایل‌گذاری سلول از طریق CellStyle با Font، Fill و Borders
  • اعمال به‌روزرسانی‌های هدفمند استایل با StyleFlag
  • قالب‌بندی عددی از طریق NumberFormat
  • چاپ و چیدمان صفحه از طریق PageSetup (اندازهٔ کاغذ، جهت‌گیری، حاشیه‌ها)
  • قفل‌کردن پنجره‌ها با FreezePane؛ کنترل نمایش سطر/ستون

چرا مهم است

  • گزارش‌های برند شده، آماده چاپ مستقیم از سرویس‌های Rust
  • خروجی‌های قابل خواندن با فرمت‌های صحیح عدد و تاریخ
  • شیت‌های بزرگ که با ردیف‌های سرعنوان ثابت، قابل ناوبری می‌مانند

نمودارها، تصاویر و اشکال

  • افزودن انواع نمودار ستونی، خطی و سایر انواع نمودارها از طریق ChartType در مجموعه نمودارهای یک برگه
  • خواندن لنگرهای نمودار و انواع آن‌ها از فایل‌های بارگذاری‌شده (Chart, ChartCollection)
  • جاسازی تصاویر با Picture و اشکال ترسیم با Shape
  • فشرده‌سازی روندهای درون‌سلولی با SparklineGroup

موارد استفاده

  • داشبوردها و کتاب‌های کاری KPI که به‌صورت زمان‌بندی تولید می‌شوند
  • خلاصه‌های تصویری که در کنار داده‌های خام تعبیه شده‌اند
  • قرارگیری خودکار نمودارها از محدوده‌های داده

تحلیل داده و حفاظت

  • قواعد قالب‌بندی مشروط با FormatCondition
  • قواعد اعتبارسنجی داده‌ها با Validation و OperatorType
  • فیلترهای خودکار با AutoFilter؛ جداول ساختاریافته با ListObject
  • نام‌های تعریف‌شده با DefinedName؛ حفاظت با WorkbookProtection و WorksheetProtection
  • بارگذاری مقاوم XLSX با پرچم‌های تعمیر LoadOptions و LoadDiagnostics

چه کسی بهره‌مند می‌شود

  • تیم‌هایی که دفترچه‌های ورودی داده تأییدشده را ارسال می‌کنند
  • سرویس‌هایی که فایل‌های XLSX شخص ثالث را که ممکن است نیاز به تعمیر داشته باشند، دریافت می‌کنند
  • تحلیل‌گرانی که گزارش‌های پیش‌فیلتر شده و محافظت‌شده را دریافت می‌کنند

ایجاد، ذخیره و بارگذاری مجدد یک کتاب‌کار

یک کتاب‌کار ایجاد کنید، مقادیر تایپ‌شده و یک فرمول با مقدار کش‌شده بنویسید، آن را به‌صورت XLSX ذخیره کنید و سپس بارگذاری کنید:

use aspose_cells_foss_rust::{CellValue, Workbook};
use std::error::Error;

fn main() -> Result<(), Box<dyn Error>> {
    // Create a new workbook (starts with one sheet, "Sheet1").
    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("Hello")?;
        cells.get("B1")?.put_value_i32(123)?;
        cells.get("C1")?.put_value_bool(true)?;
        cells.get("D1")?.put_value_decimal(12.5)?;
        cells.get("F1")?.put_value_i32(10)?;
        cells.get("G1")?
            .put_formula_with_cached_value("=F1*2", CellValue::Number(20.0))?;
    }
    workbook.save("hello.xlsx")?;

    // Load it back.
    let loaded = Workbook::load_xlsx("hello.xlsx")?;
    let sheet = loaded.worksheet("Sheet1")?;
    let cells = sheet.get_cells();
    println!("A1 = {}", cells.get("A1")?.display_string_value());

    Ok(())
}

بارگذاری فایل‌های XLSX با گزینه‌های تعمیر

دفاتر کاری را به صورت محافظه‌کارانه با پرچم‌های تعمیر LoadOptions باز کنید و تشخیص‌های ساختاری بارگذاری را بررسی کنید:

let options = LoadOptions {
    try_repair_package: true,
    try_repair_xml: true,
    ..LoadOptions::default()
};

let loaded = Workbook::load_xlsx_with_options(&valid_path, &options)?;
let sheet = loaded.worksheet("Sheet1")?;
let cells = sheet.get_cells();

println!("Saved: {}", valid_path.display());
println!(
    "Loaded workbook with {} worksheet(s) and {} diagnostic issue(s).",
    loaded.get_worksheets().count(),
    loaded.get_load_diagnostics().issues().len()
);

افزودن نمودارها از بازه‌های داده

یک بازه داده را پر کنید، سپس نمودارهای ستونی و خطی را به آن متصل کنید:

let mut charts = sheet.get_charts();
charts.add(
    ChartType::Column,
    "Charts!$B$1:$B$13".to_string(),
    0,
    4,
    18,
    8,
)?;
charts.add(
    ChartType::Line,
    "Charts!$C$1:$C$13".to_string(),
    0,
    9,
    18,
    13,
)?;

سوالات متداول

مجوز Aspose.Cells FOSS for Rust چیست؟

این crate تحت مجوز MIT منتشر شده است؛ متن کامل در مخزن به عنوان LICENSE.txt موجود است.

آیا می‌توانم از آن در محصولات تجاری استفاده کنم؟

بله. مجوز MIT اجازه استفاده تجاری، تغییر و توزیع مجدد را می‌دهد، به شرطی که اطلاعیه حق نشر و مجوز حفظ شود.

چگونه crate را نصب کنم؟

aspose-cells-foss-rust را به Cargo.toml خود به‌عنوان یک وابستگی گیت از مخزن GitHub اضافه کنید.

کدام فرمت‌ها می‌توانند خوانده و نوشته شوند؟

XLSX, با قابلیت خواندن و نوشتن کامل از طریق Workbook::load_xlsx و save. سایر فرمت‌های صفحه‌گسترده در نسخهٔ فعلی پشتیبانی نمی‌شوند.

آیا به Microsoft Office نیاز دارد؟

نه. کتابخانه قالب بسته XLSX را به‌صورت مستقیم می‌خواند و می‌نویسد — هیچ نصب Office، خودکارسازی COM یا زمان‌اجرای خارجی درگیر نیست.

  

منابع پشتیبانی و آموزش

 فارسی