עבודה עם תאים ומודל הנתונים

עבודה עם תאים ומודל הנתונים

עבודה עם תאים ומודל הנתונים

The 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) כדי לכתוב טופס תואם Excel.הטופסים נבדקים על ידי Excel או קוראים תומכים כאשר הקובץ פותח.

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();

The CellValue המכללה מספקת תוספים מסוגים:

שיטתסוג החזרה
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();

טיפים ושיטות טובות

  • מעדיפים PutValue מעבר SetValue על פי ההסבר המלא – PutValue יש לו מחירי יתר עבור כל הסוגים הראשוניים.
  • שימוש GetStringValue() כדי לקבל את הטקסט ללא שינוי סוג; להשתמש GetValue().AsDouble() כאשר אתה צריך דיוק מספר.
  • תמיד צלצל SetFormula עבור תאי פורמולה, לא PutValue("=SUM(...)") - האחרונה מחזיקה שורה בכתב ולא נוסחה.
  • שימוש CellArea::CreateCellArea(start, end) לבנות אובייקטים ברמה עבור פעולות שילוב ופורמט.

בעיות נפוצות

נושאסיבהקבע
GetValue() חוזרים ריקיםתא לא נכתבכתוב ערך עם PutValue לפני קריאה
פורמולה לא הוערכהפורמולה שנשמרה כקשתשימוש SetFormula(expr) במקום PutValue(expr)
הצטרפות נכשלתגודל טווח מוגבלביטחון endRow >= startRow ו endColumn >= startColumn
סוג שגיאה ב-Readקוראים לא נכון As*() שיטתתואם את המכשיר למקור PutValue סוג

סיכום התייחסות API

שיעור / שיטהתיאור
Cell::PutValue(value)כתוב ערך מילולי לתא
Cell::SetFormula(formula)הגדרת Excel Formula String
Cell::GetValue()לחזור את הערך של התא כ- A CellValue
Cell::GetStringValue()להחזיר את הערך של התא כקשר
Cell::GetDisplayStringValue()להחזיר את מסגרת הצג פורמט
Cell::GetRow()קבל את אינדיקטור שורה מבוסס אפס
Cell::GetColumn()קבל את אינדיקטור העמודה המבוסס על אפס
Cell::GetStyle()קבלו את סגנון התא הנוכחי
Cell::SetStyle(style)הגדרת סגנון משתנה לתא
CellValue::AsDouble()להמיר ערך תא ל-Double
CellValue::AsString()להפוך ערך תא ל- string
Cells::Merge(row, col, rows, cols)להוסיף רצועה ישר

ראה גם

 עברית