Πώς να δημιουργήσετε και να πληροί ένα μοντέλο δεδομένων σε C++

Πώς να δημιουργήσετε και να πληροί ένα μοντέλο δεδομένων σε C++

Αυτό το εγχειρίδιο δείχνει πώς να δημιουργήσετε ένα βιβλίο εργασίας, να κατοικούν τα κύτταρα με τιμές και φόρμουλα, εφαρμόστε στυλ και αποθηκεύετε ως αρχείο φύλλου διανομής χρησιμοποιώντας το Aspose.Cells FOSS για τη βιβλιοθήκη C++. Workbook, Worksheet, Cell,και Style.

Βήμα προς βήμα οδηγός

Βήμα 1: Εισάγετε το κτίριο

Προσθήκη της βιβλιοθήκης Cells FOSS στο έργο CMake και σύνδεση με το Aspose.Cells.Foss.Cpp Στόχος :

cmake_minimum_required(VERSION 3.15)
project(CreateSpreadsheet CXX)
set(CMAKE_CXX_STANDARD 17)

add_subdirectory(path/to/Aspose.Cells-FOSS-for-Cpp)
add_executable(CreateSpreadsheet main.cpp)
target_link_libraries(CreateSpreadsheet PRIVATE Aspose.Cells.Foss.Cpp)

Βήμα 2: Προσθήκη κεφαλών και εγκατάσταση ονόματος

Περιλαμβάνει τα κεφάλαια της κατηγορίας από aspose/cells_foss/ Για κάθε κατηγορία που χρησιμοποιείτε (Workbook.h, Worksheet.h, Cell.h, Style.h, Font.h, Color.h, CellArea.hΜετά ανοίγει το Aspose::Cells_FOSS Ονομασία :

using namespace Aspose::Cells_FOSS;

Βήμα 3: Δημιουργήστε ένα βιβλίο εργασίας και ονομάστε το φύλλο

Αμέσως Workbook, ανακτήστε το πρώτο φύλλο εργασίας μέσω GetWorksheets()[0],και να ορίσει το όνομα της εμφάνισης:

int main() {
    Workbook workbook;
    Worksheet& sheet = workbook.GetWorksheets()[0];
    sheet.SetName("Sales");
    return 0;
}

Βήμα 4: Προσθέστε τιμές κυττάρων

Κλήση GetCells()["A1"].PutValue() να γράψετε γραμμές κειμένου, αριθμητικές τιμές και μπολεάν σε μεμονωμένα κύτταρα με την διεύθυνση:

sheet.GetCells()["A1"].PutValue("Product");
sheet.GetCells()["B1"].PutValue("Price");
sheet.GetCells()["A2"].PutValue("Widget");
sheet.GetCells()["B2"].PutValue(9.99);
sheet.GetCells()["A3"].PutValue("Gadget");
sheet.GetCells()["B3"].PutValue(24.99);

Βήμα 5: Εισάγετε μια φόρμουλα

Κλήση SetFormula() σε ένα κελί για να αποθηκεύσετε μια γραμμή φόρμουλα συμβατή με το Excel. η φόρική αξιολογείται από το excel όταν ανοίγει το αρχείο:

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

Βήμα 6: Εφαρμόστε το στυλ κυττάρων

Πάρτε το στυλ με Cell::GetStyle(),να τροποποιηθεί και να εφαρμοστεί με Cell::SetStyle(style):

Style headerStyle = sheet.GetCells()["A1"].GetStyle();
Font font;
font.SetBold(true);
font.SetColor(Color::FromArgb(255, 255, 255, 255));
headerStyle.SetFont(font);
headerStyle.SetPattern(FillPattern::Solid);
headerStyle.SetForegroundColor(Color::FromArgb(255, 34, 120, 212));
sheet.GetCells()["A1"].SetStyle(headerStyle);
sheet.GetCells()["B1"].SetStyle(headerStyle);

Βήμα 7: Σύνδεση των κυττάρων

Χρησιμοποιήστε Cells::Merge Για να συνδυάσετε ένα εύρος σε ένα μόνο κύτταρο:

CellArea titleArea = CellArea::CreateCellArea("A1", "B1");
sheet.GetCells().Merge(0, 0, 1, 2);

Βήμα 8: Αποθηκεύστε το βιβλίο εργασίας

Κλήση workbook.Save() με ένα όνομα αρχείου για να γράψετε το φύλλο διανομής ως αρχείο XLSX, στη συνέχεια καλέστε Dispose() Για να απελευθερώσετε τους πόρους:

workbook.Save("sales.xlsx");
workbook.Dispose();

Κοινά προβλήματα και τακτοποιήσεις

Στυλ που δεν εφαρμόζεται μετά την αποθήκευση Πάντα καλέστε Cell::SetStyle(style) Μετά την τροποποίηση του αντικειμένου στυλ. η τροπόμενη επιστραμμένη στύλ απευθείας δεν εφαρμόζει αλλαγές· πρέπει να το επαναφέρετε ρητά.

Η φόρμουλα αποθηκεύεται ως γραμματική σφραγίδα Χρησιμοποιήστε SetFormula("=SUM(...)") Όχι PutValue("=SUM(...)"). PutValue Θεωρεί το επιχείρημα ως γραμματική σφραγίδα, όχι φόρμουλα.

Η κελιά δεν κάνει σωστά Βεβαιωθείτε ότι οι παραμέτρους συγχώνευσης (κλειδί, στήλη, γραμμή, κλειδιά) διασχίζουν σωστά την προτεινόμενη περιοχή.

Το βιβλίο εργασίας δεν έχει φύλλα μετά την κατασκευή Ένα αρχείο δημιουργείται πάντα από Workbook().Κλήση GetWorksheets()[0] Για να την αποκτήσουν πρόσβαση.

Δεν καλείται να Πάντα καλέστε workbook.Dispose() να απελευθερώσει πόρους, ειδικά σε μακροχρόνιες εφαρμογές.

Συχνές ερωτήσεις

Μπορώ να προσθέσω πολλά φύλλα εργασίας σε ένα βιβλίο εργασίας;?

Ναι, χρησιμοποιήστε το Workbook::GetWorksheets() να έχετε πρόσβαση στη συλλογή και να προσθέσετε φύλλα προγραμματικά. διασφαλίστε ότι κάθε φύλλο έχει ένα μοναδικό όνομα χρησιμοποιώντας Workbook::EnsureUniqueSheetName().

Πώς μπορώ να ρυθμίσω μια μορφή αριθμού για ένα κελί;?

Χρησιμοποιήστε Style::SetNumberFormat(format) Πριν καλέσει Cell::SetStyle(style).Οι γραμμές μορφοποίησης ακολουθούν τη συντάκτρια του τυποποιημένου αριθμού μορφής Excel.

Μπορώ να εφαρμόσω το ίδιο στυλ σε πολλαπλά κύτταρα;?

Ναι. Πάρτε το στυλ μία φορά, τροποποιήστε το και καλέστε SetStyle(style) σε κάθε κελί στόχου.

Η φόρμουλα αξιολογείται όταν αποθηκεύεται;?

Η αξιολόγηση φόρμουλα συμβαίνει στο Excel ή σε έναν συμβατό αναγνώστη όταν ανοίγει το αρχείο.Η βιβλιοθήκη γράφει τη γραμμή φόρουμα για την κελιά.

Πόσες γραμμές και στήλες μπορεί να κρατήσει ένα φύλλο εργασίας;?

Κάθε φύλλο εργασίας κρατά δεδομένα σε ολόκληρο το δίκτυό του γραμμών και στήλων, ακολουθώντας τις τυποποιημένες διαστάσεις της πλάκας.

Δείτε επίσης

 Ελληνικά