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ódszer | Visszaadá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átSetValueközvetlen szóbeli megbízásokhozPutValueminden primitív típus túlterhelése. - Használat
GetStringValue()szöveget keresni típuskonverzió nélkül; a felhasználásGetValue().AsDouble()ha számszerű pontosságra van szükség. - Mindig hívj.
SetFormulaa képlet cellák esetében: nemPutValue("=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és | Okok | Megjavítani. |
|---|---|---|
GetValue() üres visszajelzés | Cella nem íródott. | Írjon egy értéket azzal, hogy: PutValue olvasás előtt. |
| Nem értékelt képlet | A képlet szalagként mentett. | Használat SetFormula(expr) helyett. PutValue(expr) |
| A fúzió kudarcot vallott. | Nem érvényes tartományméretek | Biztosítani a endRow >= startRow és a következők: endColumn >= startColumn |
| A típus nem egyezik az olvasással | Rosszul hívom. As*() módszer | Összehasonlítani a kiegészítővel az eredetihez. PutValue típus |
API-referencia összefoglaló
| Az osztály/módszer | Leí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 |