Cellakkal és az adatmodelllel való munka

Cellakkal és az adatmodelllel való munka

Cellakkal és az adatmodelllel való munka

A Bizottság Cell A class az elsődleges felület, amely a táblázat egyes sejtértékekének, képleteknek és stílusoknak olvasására és írásaira szolgál. Egy cellához hozzáférni a munkalap elemén keresztül lehet. Cells címsor használatával gyűjtött.


Értékek beírása a sejtekre

Használat Cell::PutValue szöveg, számok, boolean vagy dátumok beírása egy cellába:

#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;
}

A képlet beállításáról

Használat Cell::SetFormula(formula) Az Excel vagy a kompatibilis olvasók értékelik az adót, amikor kinyitják.

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

Cella értékek olvasása

Olvasd el a cellának aktuális értékét: Cell::GetValue(), ami a CellValue objektum: a megfelelő kiegészítő használatával konvertálni egy adott típusra:

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

A Bizottság CellValue az osztály megadja a típusosított kiegészítőket:

MódszerVisszaadási típus
AsDouble()double
AsInteger()int
AsBool()bool
AsString()std::string
AsDateTime()DateTime

Cella- és oszlopos hozzáférés

A címsorok mellett a nullával alapuló sor- és oszlopindexekkel hozzáférhető cellák:

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

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

Célok egyesülése

Használat Cells::Merge egy négyzetméterű cellák tartományának egyesítése:

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

A megjelenített szöveg elérése

A cellák értékének formázott megjelenítési szövegként történő (számformátumokat alkalmazva) a következők segítségével történő visszakeresése: Cell::GetDisplayStringValue():

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

Tippek és legjobb gyakorlatok

  • Prefer PutValue át SetValue közvetlen szóbeli megbízásokhoz PutValue minden primitív típus túlterhelése.
  • Használat GetStringValue() szöveget keresni típuskonverzió nélkül; a felhasználás GetValue().AsDouble() ha számszerű pontosságra van szükség.
  • Mindig hívj. SetFormula a képlet cellák esetében: nem PutValue("=SUM(...)") az utóbbi egy szalagszöveget tárol, nem pedig képletet.
  • Használat CellArea::CreateCellArea(start, end) a kombinációs és formázási műveletekhez szükséges tartományobjektumok létrehozása.

Általános kérdések

A kérdésOkokMegjavítani.
GetValue() üres visszajelzésCella nem íródott.Írjon egy értéket azzal, hogy: PutValue olvasás előtt.
Nem értékelt képletA képlet szalagként mentett.Használat SetFormula(expr) helyett. PutValue(expr)
A fúzió kudarcot vallott.Nem érvényes tartományméretekBiztosítani a endRow >= startRow és a következők: endColumn >= startColumn
A típus nem egyezik az olvasássalRosszul hívom. As*() módszerÖsszehasonlítani a kiegészítővel az eredetihez. PutValue típus

API-referencia összefoglaló

Az osztály/módszerLeírás
Cell::PutValue(value)Írjon egy betű szerinti értéket a cellába.
Cell::SetFormula(formula)Excel képlet szalagsorát állítson be
Cell::GetValue()A cellák értéke a következő formában: CellValue
Cell::GetStringValue()A cellák értékét vonalként kapja meg .
Cell::GetDisplayStringValue()A formázott megjelenítési szalagot visszakeresni
Cell::GetRow()Szerezd a nullával alapuló sorindexet.
Cell::GetColumn()Szerezd a nullával alapuló oszlop indexet.
Cell::GetStyle()A jelenlegi sejtstílus elérése
Cell::SetStyle(style)A módosított stílus alkalmazása a cellára .
CellValue::AsDouble()Cella értékét duplára alakítani
CellValue::AsString()Cella értékének szalagra történő átalakítása
Cells::Merge(row, col, rows, cols)Egy négyzetalapú tartomány egyesítése

Lásd még:

 Magyar