Εργασία με τα κύτταρα και το μοντέλο δεδομένων

Εργασία με τα κύτταρα και το μοντέλο δεδομένων

Εργασία με τα κύτταρα και το μοντέλο δεδομένων

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

Η 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 Πριν από το διάβασμα
Η φόρμουλα δεν αξιολογείταιΗ φόρμουλα αποθηκεύεται ως stringΧρησιμοποιήστε SetFormula(expr) Αντί να PutValue(expr)
Μειώθηκαν οι αποτυχίεςΑπεργία διαστάσεωνΑσφάλεια endRow >= startRow και endColumn >= startColumn
Τύπος λάθος ανάγνωσηςΛένε λάθος As*() ΜέθοδοςΑντιστοιχίστε το αξεσουάρ με την αρχική PutValue Τύπος

Συνοπτική αναφορά API

Τάξη / ΜέθοδοςΠεριγραφή
Cell::PutValue(value)Γράψτε μια κυριολεκτική αξία στο κελί
Cell::SetFormula(formula)Εισάγετε μια στυλ φόρμουλα Excel
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)Εναρμόνιση ενός ορθογώνου εύρους

Δείτε επίσης

 Ελληνικά