کار با مدیریت صفحه‌گسترده

کار با مدیریت صفحه‌گسترده

کار با مدیریت صفحه‌گسترده

مدیریت صفحه‌گسترده سطح شیء روزانهٔ crate را شامل می‌شود: ورق‌ها، مجموعه‌های سلول، مقادیر نوعی، فرمول‌ها، استایل‌دهی، و ویژگی‌های ساختاری که یک کتاب‌کار قابل استفاده را می‌سازند. نقطهٔ ورودی همیشه یک Workbook است.


Worksheets

ورق‌ها از طریق مجموعه‌های ورق‌کار کتاب‌کار مدیریت می‌شوند — دسترسی فقط-خواندنی از طریق get_worksheets، تغییرات از طریق get_worksheets_mut. ورق‌ها با شاخص (get(0)) یا نام (get_by_name) شناسه می‌شوند، با set_name نامشان تغییر می‌یابد، و با add_worksheet اضافه می‌شوند:

let mut workbook = Workbook::new();
{
    let mut worksheets = workbook.get_worksheets_mut();
    let sheet = worksheets.get(0)?;
    sheet.set_name("Data")?;
}

دسترسی به سلول‌ها و مقادیر نوعی

سلول‌ها به سبک A1 یا به صورت عددی شناسه می‌شوند. get_by_index(row, column) برای طرح‌های تولید شده مناسب است:

let mut cells = sheet.get_cells_mut();
cells.get("A1")?.put_value_string("Month")?;
for month in 1..=12_u32 {
    cells
        .get_by_index(month, 0)
        .put_value_string(format!("Month {month}"))?;
}

در هنگام بازخوانی، display_string_value متن نمایش داده‌شده را برمی‌گرداند و value_type نوع ذخیره‌شده را گزارش می‌دهد.


فرمول‌ها با نتایج کش‌شده

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

مقدار کش‌شده همان چیزی است که اکسل قبل از اولین بازمحاسبه نمایش می‌دهد — آن را فراهم کنید تا مصرف‌کنندگان فایل بلافاصله نتایج صحیح را ببینند.


Styling

CellStyle مقدار Font، Fill و Borders را تجمیع می‌کند؛ StyleFlag کنترل می‌کند که کدام جنبه‌های استایل توسط به‌روزرسانی اعمال شوند، به‌طوری که قالب‌بندی موجود در جاهایی که بازنویسی نمی‌کنید حفظ شود. NumberFormat نحوه نمایش مقادیر را تعیین می‌کند.


تنظیمات صفحه و ناوبری

PageSetup چیدمان چاپ را مدیریت می‌کند: PaperSizeType، PageOrientationType و حاشیه‌ها. FreezePane ردیف‌های سرعنوان را هنگام پیمایش قابل مشاهده نگه می‌دارد، و نمایش ردیف و ستون با استفاده از VisibilityType انجام می‌شود.


ساختار: جداول، نام‌ها، نظرات، هایپرلینک‌ها

  • ListObject یک بازه را به جدول ساختاری تبدیل می‌کند با استایل TableStyleType و ردیف‌های مجموع TotalsCalculation.
  • DefinedName و DefinedNameCollection بازه‌های نام‌گذاری‌شده را مدیریت می‌کنند.
  • Comment / CommentCollection و Hyperlink / HyperlinkCollection پوشش حاشیه‌نویسی و ناوبری را می‌دهند.

نکات و بهترین روش‌ها

  • قرض‌های قابل تغییر (get_worksheets_mut، get_cells_mut) را داخل یک بلوک حوزه نگه دارید؛ پس از بسته شدن بلوک، کتاب کار را ذخیره کنید.
  • از get_by_index برای حلقه‌ها و طرح‌های تولید شده استفاده کنید؛ نام‌های A1 برای موقعیت‌های ثابت.
  • استایل‌ها را با یک StyleFlag اعمال کنید تا قالب‌بندی‌های نامرتبط دست‌نخورده بمانند.
  • رشته‌های مهم را با DefinedName نام‌گذاری کنید به جای کدگذاری ثابت آدرس‌ها.

مسائل رایج

مشکلدلیلراه‌حل
خطای قرض‌گیری هنگام ذخیره‌سازی workbookقرض‌گیری mutable از worksheet هنوز فعال استبلوک scope را قبل از فراخوانی save ببندید
فرمول در Excel عدد 0 را نمایش می‌دهدهیچ مقدار کش‌شده‌ای ارائه نشده استاز put_formula_with_cached_value با نتیجهٔ مورد انتظار استفاده کنید
برگه یافت نشدعدم تطابق نامآدرس را بر اساس ایندکس وارد کنید یا املای set_name را بررسی کنید

FAQ

چگونه یک کاربرگ دوم اضافه کنم؟

روی workbook متد add_worksheet را صدا بزنید، سپس آن را از مجموعه کاربرگ‌ها با استفاده از اندیس یا نام دریافت کنید.

آیا می‌توانم در یک عبور هم بخوانم و هم بنویسم؟

بله — با Workbook::load_xlsx بارگذاری کنید، از طریق get_worksheets_mut تغییر دهید، و save به مسیر همان یا جدید انجام دهید.

آیا setterهای نوعی مقادیر را تبدیل می‌کنند؟

هیچ تبدیل‌کاری اعمال نمی‌شود: هر setter put_value_* نوع بومی خود را ذخیره می‌کند؛ display_string_value متن نمایش را هنگام خواندن رندر می‌کند.


API Reference خلاصه

کلاس/متدتوضیح
Workbook.add_worksheetیک برگه به دفتر کار اضافه کنید
Worksheet.set_nameتغییر نام شیت
Worksheet.get_cells_mutمجموعه سلول‌های قابل تغییر
CellMut.put_value_stringتنظیم‌کننده رشته تایپ‌شده
CellMut.put_formula_with_cached_valueفرمول به‌همراه نتیجهٔ کش‌شده
CellStyleقالب‌بندی فونت، پرکردن و حاشیه
StyleFlagانتخاب می‌کند کدام جنبه‌های سبک اعمال شوند
PageSetupچاپ و چیدمان صفحه
ListObjectجداول ساختاری

همچنین ببینید:

 فارسی