Rad s ćelijama i modelom podataka

Rad s ćelijama i modelom podataka

Rad s ćelijama i modelom podataka

U skladu s člankom 1. Cell class je primarni sučelje za čitanje i pisanje pojedinačnih vrijednosti stanica, formula i stilova u pregledniku. Pristupite ćeliji putem radnog lista Cells zbirka pomoću niza adresa.


Zapisivanje vrijednosti u stanice

Upotreba: Cell::PutValue za pisanje teksta, brojeva, booleanskih ili datuma u ćeliju:

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

Postavljanje formula

Upotreba: Cell::SetFormula(formula) Formula se procjenjuje od strane Excel-a ili kompatibilnih čitatelja kada je datoteka otvorena.

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

Čitanje vrijednosti stanica

Pročitajte trenutnu vrijednost ćelije s: Cell::GetValue(), što vraća: CellValue pretvoriti u specifičan tip pomoću odgovarajućeg dodatka:

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

U skladu s člankom 1. CellValue Klasa daje tipirane dodatke:

Metoda:Vrsta povratka
AsDouble()double
AsInteger()int
AsBool()bool
AsString()std::string
AsDateTime()DateTime

Pristup stanicama po redovima i stupcima

U skladu s člankom 2. stavkom 1. točkom (a) i podstavkom 3. stavku 1. točke (b) ovog članka, ako je primjenjivo:

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

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

Spojeni stanice

Upotreba: Cells::Merge U ovom slučaju, u skladu s člankom 77. stavkom 1. točkom (a) Uredbe (EU) br. 575/2013.:

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

Prikupljanje teksta na prikazu

Da biste dobili vrijednost ćelije kao formatirani tekst prikaza (primenjuje se brojni format), koristite Cell::GetDisplayStringValue():

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

Savjeti i najbolje prakse

  • Prefer PutValue prelaziti SetValue za direktne doslovne zadatke PutValue ima preopterećenja za sve primitivne tipove.
  • Upotreba: GetStringValue() za preuzimanje teksta bez pretvaranja tipa; koristiti GetValue().AsDouble() Kada vam je potrebna numerička preciznost.
  • Uvijek nazovi. SetFormula za ćelije formule, ne PutValue("=SUM(...)") u ovom tekstu se čuva struna, a ne formula.
  • Upotreba: CellArea::CreateCellArea(start, end) za izgradnju objekata opsega za operacije spajanja i formiranja.

Zajednički problemi

IzdavanjeUzrokPopraviti
GetValue() vraća praznaCelu nije napisano.Napišite vrijednost s: PutValue prije čitanja.
Formula nije procijenjenaFormula sačuvana kao nizUpotreba: SetFormula(expr) umjesto: PutValue(expr)
Neuspješno spajanjeNeispravne dimenzije opsegaOsigurati endRow >= startRow i u članku 1. endColumn >= startColumn
Neispravnost tipa na čitanjuPogrešno pozivanje. As*() metodaPrikladno sastojanje s originalnim. PutValue tip:

Svrha referentnog API-a

Sredstva za ispitivanje i provedbuOpisivanje
Cell::PutValue(value)Napišite doslovnu vrijednost u ćeliju.
Cell::SetFormula(formula)Postavi niz Excelove formule
Cell::GetValue()Prikupiti vrijednost ćelije kao: CellValue
Cell::GetStringValue()Prikupiti vrijednost ćelije kao niz.
Cell::GetDisplayStringValue()Pronaći formattirani niz prikaza
Cell::GetRow()Dobijte indeks redova na osnovi nula.
Cell::GetColumn()Dobijte indeks stupca na osnovi nula
Cell::GetStyle()Dobijte trenutni stil ćelije
Cell::SetStyle(style)Primjeniti modifikovani stil u ćeliji
CellValue::AsDouble()Preusmjeriti vrijednost ćelije na dvostruko
CellValue::AsString()Preusmjeriti vrijednost ćelije u niz
Cells::Merge(row, col, rows, cols)Spojiti pravougaoni raspon

Također pogledajte:

 Hrvatski