کار با سلول ها و مدل داده

کار با سلول ها و مدل داده

کار با سلول ها و مدل داده

و این Cell کلاس، رابط اصلی برای خواندن و نوشتن ارزش های سلول، فرمول ها و سبک های جداگانه است. Cells با استفاده از یک ردیف آدرس.


ارزش های نوشتن به سلول ها

استفاده از Cell::PutValue برای نوشتن متن، اعداد، بولین ها یا تاریخ به یک سلول:

#include "aspose/cells_foss/Workbook.h"
#include "aspose/cells_foss/Worksheet.h"
#include "aspose/cells_foss/Cell.h"

using namespace Aspose::Cells_FOSS;

int main() {
    Workbook workbook;
    Worksheet& sheet = workbook.GetWorksheets()[0];

    sheet.GetCells()["A1"].PutValue("Product");
    sheet.GetCells()["B1"].PutValue("Price");
    sheet.GetCells()["A2"].PutValue("Widget");
    sheet.GetCells()["B2"].PutValue(9.99);
    sheet.GetCells()["C2"].PutValue(true);

    workbook.Save("data.xlsx");
    return 0;
}

فرمول ها را تنظیم کنید

استفاده از Cell::SetFormula(formula) برای نوشتن فرمول سازگار با اکسل، فرموله ها توسط اکسیل یا خوانندگان سازنده در هنگام باز کردن فایل ارزیابی می شوند.

sheet.GetCells()["B4"].SetFormula("=SUM(B2:B3)");
sheet.GetCells()["C4"].SetFormula("=AVERAGE(B2:B3)");

خواندن ارزش های سلولی

ارزش فعلی یک سلول را با Cell::GetValue(),که به یک بازگشت می رسد. CellValue تبدیل به یک نوع خاص با استفاده از لوازم جانبی مناسب:

CellValue val = sheet.GetCells()["B2"].GetValue();
double price = val.AsDouble();
std::string text = sheet.GetCells()["A2"].GetStringValue();

و این CellValue کلاس ها دارای لوازم جانبی هستند:

Methodنوع بازگشت
AsDouble()double
AsInteger()int
AsBool()bool
AsString()std::string
AsDateTime()DateTime

دسترسی به سلول ها با ستون و خط

علاوه بر نوارهای هدف، سلول های دسترسی با ردیف صفر و شاخص های ستون:

// Address string
Cell& cellA1 = sheet.GetCells()["A1"];

// Row/column index (0-based)
int row = cellA1.GetRow();
int col = cellA1.GetColumn();

سلول های چرخشی

استفاده از Cells::Merge برای ترکیب یک محدوده مستقیم از سلول ها به یکی:

CellArea area = CellArea::CreateCellArea("A1", "C1");
sheet.GetCells().Merge(area.StartRow, area.StartColumn,
                       area.EndRow - area.StartRow + 1,
                       area.EndColumn - area.StartColumn + 1);

نمایش متن

برای به دست آوردن ارزش سلول به عنوان متن نمایش فرمت شده (برنامه های شماره)، استفاده از Cell::GetDisplayStringValue():

std::string display = sheet.GetCells()["B2"].GetDisplayStringValue();

راهنمایی ها و بهترین شیوه ها

  • Prefer PutValue بیش از SetValue برای اعمال مستقیم به صورت حروف - PutValue برای همه نوع های اولیه استفاده می شود.
  • استفاده از GetStringValue() برای دریافت متن بدون تبدیل نوع؛ استفاده از GetValue().AsDouble() در صورت نیاز به دقت عددی.
  • همیشه تماس بگیرید SetFormula برای سلول های فرمول، نه PutValue("=SUM(...)") این بخش یک فرمول است نه یک قاشق.
  • استفاده از CellArea::CreateCellArea(start, end) برای ساختن اشیاء محدوده برای ادغام و فرمت عملیات.

مسائل مشترک

IssueCauseاصلاحی
GetValue() بازگشت خالیسلول نوشته نشده است.ارزش را با PutValue قبل از خواندن
فرمول مورد ارزیابی قرار نگرفته است.فرمول به عنوان string ذخیره شده استاستفاده از SetFormula(expr) به جای آن که PutValue(expr)
شکست خوردنابعاد محدوده معلولEnsure endRow >= startRow و endColumn >= startColumn
نوع اشتباه در خواندننام اشتباه As*() روشبا این ابزار به اصل مطابقت دارد. PutValue نوع

API خلاصه ای از ارجاعات

کلاس / روشDescription
Cell::PutValue(value)یک مقدار واقعی برای سلول بنویسید.
Cell::SetFormula(formula)یک فرمول اکسل را تنظیم کنید
Cell::GetValue()ارزش سلول را به عنوان یک CellValue
Cell::GetStringValue()ارزش سلول را به عنوان یک ردیف بازگردانید.
Cell::GetDisplayStringValue()بازگرداندن شاخص های فرمت شده
Cell::GetRow()شاخص خط صفر را دریافت کنید.
Cell::GetColumn()شاخص ستون صفر را دریافت کنید.
Cell::GetStyle()به سبک سلول فعلی دست یابید.
Cell::SetStyle(style)یک سبک اصلاح شده را به سلول اعمال کنید.
CellValue::AsDouble()تبدیل ارزش سلول به دو برابر
CellValue::AsString()تبدیل ارزش سلولی به string
Cells::Merge(row, col, rows, cols)یک محدوده مستقیم را به هم متصل کنید.

See Also

 فارسی