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_xlsxadd_worksheet، worksheet و مجموعههای شیت قابل تغییرsave، save_xlsx یا save_with_format با فرمت صریحput_value_string, put_value_i32, put_value_bool, put_value_decimal, put_value_date_timeput_formula_with_cached_valuedisplay_string_value و value_typeget, get_by_index)CellStyle با Font، Fill و BordersStyleFlagNumberFormatPageSetup (اندازهٔ کاغذ، جهتگیری، حاشیهها)FreezePane؛ کنترل نمایش سطر/ستونChartType در مجموعه نمودارهای یک برگهChart, ChartCollection)Picture و اشکال ترسیم با ShapeSparklineGroupFormatConditionValidation و OperatorTypeAutoFilter؛ جداول ساختاریافته با ListObjectDefinedName؛ حفاظت با WorkbookProtection و WorksheetProtectionLoadOptions و LoadDiagnosticsیک کتابکار ایجاد کنید، مقادیر تایپشده و یک فرمول با مقدار کششده بنویسید، آن را بهصورت 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(())
}
دفاتر کاری را به صورت محافظهکارانه با پرچمهای تعمیر 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,
)?;
این crate تحت مجوز MIT منتشر شده است؛ متن کامل در مخزن به عنوان LICENSE.txt موجود است.
بله. مجوز MIT اجازه استفاده تجاری، تغییر و توزیع مجدد را میدهد، به شرطی که اطلاعیه حق نشر و مجوز حفظ شود.
aspose-cells-foss-rust را به Cargo.toml خود بهعنوان یک وابستگی گیت از مخزن GitHub اضافه کنید.
XLSX, با قابلیت خواندن و نوشتن کامل از طریق Workbook::load_xlsx و save. سایر فرمتهای صفحهگسترده در نسخهٔ فعلی پشتیبانی نمیشوند.
نه. کتابخانه قالب بسته XLSX را بهصورت مستقیم میخواند و مینویسد — هیچ نصب Office، خودکارسازی COM یا زماناجرای خارجی درگیر نیست.