Εφαρμογή τύπων φύλλου εργασίας διαγράμματος σε παρουσιάσεις με JavaScript
Επισκόπηση
Ένα φύλλο εργασίας διαγράμματος είναι η πηγή δεδομένων πίσω από ένα διάγραμμα σε μια παρουσίαση. Αποθηκεύει τα ονόματα κατηγοριών και σειρών μαζί με τις αριθμητικές τιμές που εμφανίζει το διάγραμμα. Στο Aspose.Slides, αυτό το φύλλο εργασίας είναι διαθέσιμο μέσω του βιβλίου εργασίας δεδομένων διαγράμματος, το οποίο σας επιτρέπει να εργάζεστε με τα δεδομένα του διαγράμματος προγραμματιστικά.
Αυτό το άρθρο εξηγεί πώς να χρησιμοποιήσετε τύπους φύλλου εργασίας στα δεδομένα διαγράμματος ώστε οι τιμές των κελιών να υπολογίζονται και να ενημερώνονται αυτόματα αντί να εισάγονται χειροκίνητα. Δείχνει πώς να αντιστοιχίσετε τύπους, να χρησιμοποιήσετε αναφορές σε στυλ A1 και R1C1, να επανυπολογίσετε τους τύπους του βιβλίου εργασίας και να δουλέψετε με τους υποστηριζόμενους σταθερούς, τελεστές, αναφορές κελιών και προεγγεκριμένες συναρτήσεις που διατίθενται για φύλλα εργασίας διαγραμμάτων σε παρουσιάσεις.
Σχετικά με τη Συνάρτηση Φύλλου Εργασίας Διαγράμματος στην Παρουσίαση
Chart spreadsheet (ή φύλλο εργασίας διαγράμματος) σε μια παρουσίαση είναι η πηγή δεδομένων του διαγράμματος. Το Chart spreadsheet περιέχει δεδομένα, τα οποία εμφανίζονται στο διάγραμμα με γραφικό τρόπο. Όταν δημιουργείτε ένα διάγραμμα στο PowerPoint, το φύλλο εργασίας που συσχετίζεται με αυτό το διάγραμμα δημιουργείται αυτόματα. Το φύλλο εργασίας δημιουργείται για όλους τους τύπους διαγραμμάτων: διάγραμμα γραμμής, ραβδί, ηλιακός κλάδος, πίτας κλπ. Για να δείτε το Chart spreadsheet στο PowerPoint, πρέπει να κάνετε διπλό κλικ στο διάγραμμα:

Το Chart spreadsheet περιέχει τα ονόματα στοιχείων του διαγράμματος (Όνομα Κατηγορίας: Category1, Όνομα Σειράς) και έναν πίνακα με αριθμητικά δεδομένα κατάλληλα για αυτές τις κατηγορίες και σειρές. Από προεπιλογή, όταν δημιουργείτε ένα νέο διάγραμμα, τα δεδομένα του Chart spreadsheet ορίζονται με τα προεπιλεγμένα δεδομένα. Στη συνέχεια μπορείτε να αλλάξετε τα δεδομένα του φύλλου εργασίας χειροκίνητα.
Συνήθως, το διάγραμμα αναπαριστά σύνθετα δεδομένα (π.χ. χρηματοοικονομικοί αναλυτές, επιστημονικοί αναλυτές), έχοντας κελιά που υπολογίζονται από τις τιμές σε άλλα κελιά ή από άλλα δυναμικά δεδομένα. Ο χειροκίνητος υπολογισμός της τιμής ενός κελιού και η ενσωμάτωσή του στο κελί καθιστούν δύσκολη την αλλαγή του στο μέλλον. Αν αλλάξετε την τιμή ενός συγκεκριμένου κελιού, όλα τα κελιά που εξαρτώνται από αυτό θα χρειαστεί επίσης να ενημερωθούν. Επιπλέον, τα δεδομένα του πίνακα μπορεί να εξαρτώνται από δεδομένα άλλων πινάκων, δημιουργώντας ένα σύνθετο σχήμα δεδομένων παρουσίασης που χρειάζεται εύκολης και ευέλικτης ενημέρωσης.
Chart spreadsheet formula σε μια παρουσίαση είναι μια έκφραση για αυτόματο υπολογισμό και ενημέρωση των δεδομένων του Chart spreadsheet. Ο τύπος φύλλου εργασίας ορίζει τη λογική υπολογισμού δεδομένων για ένα συγκεκριμένο κελί ή σύνολο κελιών. Ο τύπος φύλλου εργασίας είναι μαθηματικός ή λογικός τύπος, ο οποίος χρησιμοποιεί: παραπομπές κελιών, μαθηματικές συναρτήσεις, λογικούς τελεστές, αριθμητικούς τελεστές, συναρτήσεις μετατροπής, σταθερές συμβολοσειράς κ.λπ. Ο ορισμός του τύπου γράφεται σε ένα κελί, και αυτό το κελί δεν περιέχει απλή τιμή. Ο τύπος φύλλου εργασίας υπολογίζει την τιμή και την επιστρέφει, στη συνέχεια αυτή η τιμή εκχωρείται στο κελί. Οι τύποι φύλλου εργασίας διαγραμμάτων στις παρουσιάσεις είναι στην ουσία οι ίδιοι με τύπους του Excel και υποστηρίζουν τις ίδιες προεπιλεγμένες συναρτήσεις, τελεστές και σταθερές για την υλοποίησή τους.
Στο Aspose.Slides το Chart spreadsheet αντιπροσωπεύεται με τη μέθοδο Chart.getChartData.getChartDataWorkbook του τύπου ChartDataWorkbook. Ο τύπος φύλλου εργασίας μπορεί να αντιστοιχιστεί και να τροποποιηθεί με τη μέθοδο ChartDataCell.setFormula. Η παρακάτω λειτουργικότητα υποστηρίζεται για τύπους στο Aspose.Slides:
- Λογικές σταθερές
- Αριθμητικές σταθερές
- Σταθερές συμβολοσειράς
- Σταθερές σφάλματος
- Αριθμητικοί τελεστές
- Τελεστές σύγκρισης
- Αναφορές κελιών στυλ A1
- Αναφορές κελιών στυλ R1C1
- Προεγγεκριμένες συναρτήσεις
Κανονικά, τα φύλλα εργασίας αποθηκεύουν τις τελευταίες υπολογισμένες τιμές των τύπων. Εάν μετά τη φόρτωση της παρουσίασης τα δεδομένα του διαγράμματος δεν έχουν αλλάξει, η μέθοδος ChartDataCell.getValue επιστρέφει εκείνες τις τιμές κατά την ανάγνωση. Αλλά, εάν τα δεδομένα του φύλλου εργασίας έχουν αλλάξει, κατά την ανάγνωση της ιδιότητας ChartDataCell.Value πετάει το σφάλμα CellUnsupportedDataException για τους μη υποστηριζόμενους τύπους. Αυτό συμβαίνει επειδή όταν οι τύποι αναλύονται επιτυχώς, καθορίζονται οι εξαρτήσεις των κελιών και η ορθότητα των τελευταίων τιμών. Αν ο τύπος δεν μπορεί να αναλυθεί, η ορθότητα της τιμής του κελιού δεν μπορεί να εγγυηθεί.
Προσθήκη Συνάρτησης Φύλλου Εργασίας Διαγράμματος στην Παρουσίαση
Πρώτα, προσθέστε ένα διάγραμμα στην πρώτη διαφάνεια μιας νέας παρουσίασης με ShapeCollection.getShapes.addChart. Το φύλλο εργασίας του διαγράμματος δημιουργείται αυτόματα και μπορεί να προσπελαστεί με τη μέθοδο Chart.getChartData.getChartDataWorkbook :
var pres = new aspose.slides.Presentation();
try {
var chart = pres.getSlides().get_Item(0).getShapes().addChart(aspose.slides.ChartType.ClusteredColumn, 150, 150, 500, 300);
var workbook = chart.getChartData().getChartDataWorkbook();
// ...
} finally {
if (pres != null) {
pres.dispose();
}
}
Ας γράψουμε μερικές τιμές σε κελιά με την ιδιότητα ChartDataCell.setValue του τύπου Object, που σημαίνει ότι μπορείτε να ορίσετε οποιαδήποτε τιμή στην ιδιότητα:
workbook.getCell(0, "F2").setValue(-2.5);
workbook.getCell(0, "G3").setValue(6.3);
workbook.getCell(0, "H4").setValue(3);
Τώρα για να γράψετε τύπο στο κελί, μπορείτε να χρησιμοποιήσετε τη ChartDataCell.setFormula μέθοδο:
Note: ChartDataCell.setFormula χρησιμοποιείται για ορισμό αναφορών κελιών στυλ A1.
Για να ορίσετε την αναφορά κελιού R1C1Formula, μπορείτε να χρησιμοποιήσετε τη μέθοδο ChartDataCell.setR1C1Formula:
Στη συνέχεια, αν διαβάσετε τις τιμές από τα κελιά B2 και C2, θα υπολογιστούν:
var value1 = cell1.getValue();// 7.8
var value2 = cell2.getValue();// 2.1
Λογικές Σταθερές
Μπορείτε να χρησιμοποιήσετε λογικές σταθερές όπως FALSE και TRUE σε τύπους κελιών:
workbook.getCell(0, "A2").setValue(false);
var cell = workbook.getCell(0, "B2");
cell.setFormula("A2 = TRUE");
var value = cell.getValue();// η τιμή περιέχει λογική τιμή "false"
Αριθμητικές Σταθερές
Αριθμοί μπορούν να χρησιμοποιηθούν σε κοινές ή επιστημονικές σημειώσεις για δημιουργία τύπου φύλλου εργασίας διαγράμματος:
workbook.getCell(0, "A2").setFormula("1 + 0.5");
workbook.getCell(0, "B2").setFormula(".3 * 1E-2");
Σταθερές Συμβολοσειράς
Σταθερά συμβολοσειράς (ή κυριολεκτική) είναι μια συγκεκριμένη τιμή που χρησιμοποιείται ως έχει και δεν αλλάζει. Σταθερές συμβολοσειράς μπορεί να είναι: ημερομηνίες, κείμενα, αριθμοί κλπ.:
workbook.getCell(0, "A2").setFormula("\"abc\"");
workbook.getCell(0, "B2").setFormula("\"2/3/2020 12:00\"");
Σταθερές Σφάλματος
Μερικές φορές δεν είναι δυνατόν να υπολογιστεί το αποτέλεσμα από τον τύπο. Σε αυτή την περίπτωση, ο κωδικός σφάλματος εμφανίζεται στο κελί αντί για την τιμή του. Κάθε τύπος σφάλματος έχει έναν συγκεκριμένο κωδικό:
- #DIV/0! - ο τύπος προσπαθεί να διαιρέσει με το μηδέν.
- #GETTING_DATA - μπορεί να εμφανιστεί σε κελί, ενώ η τιμή του εξακολουθεί να υπολογίζεται.
- #N/A - λείπουν ή δεν είναι διαθέσιμες πληροφορίες. Μερικοί λόγοι μπορεί να είναι: τα κελιά που χρησιμοποιούνται στον τύπο είναι κενά, υπάρχει επιπλέον κενό διάστημα, ορθογραφικό λάθος κλπ.
- #NAME? - δεν μπορεί να βρεθεί κάποιο κελί ή άλλο αντικείμενο τύπου με το όνομά του.
- #NULL! - μπορεί να εμφανιστεί όταν υπάρχει λάθος στον τύπο, π.χ. (,) ή κενό χαρακτήρα αντί για άνω-κάτω (:) .
- #NUM! - ο αριθμός στον τύπο είναι άκυρος, πολύ μεγάλος ή πολύ μικρός κλπ.
- #REF! - άκυρη παραπομπή κελιού.
- #VALUE! - απροσδόκητος τύπος τιμής. Για παράδειγμα, συμβολοσειρά σε αριθμητικό κελί.
var cell = workbook.getCell(0, "A2");
cell.setFormula("2 / 0");
var value = cell.getValue();// η τιμή περιέχει τη συμβολοσειρά "#DIV/0!"
Αριθμητικοί Τελεστές
Μπορείτε να χρησιμοποιήσετε όλους τους αριθμητικούς τελεστές σε τύπους φύλλου εργασίας διαγράμματος:
| Τελεστής | Σημασία | Παράδειγμα |
|---|---|---|
| + (συν) | Πρόσθεση ή μοναδιαίο πρόσημο | 2 + 3 |
| - (μείον) | Αφαίρεση ή άρνηση | 2 - 3 -3 |
| * (αστέρι) | Πολλαπλασιασμός | 2 * 3 |
| / (πρισματική) | Διαίρεση | 2 / 3 |
| % (ποσοστό) | Ποσοστό | 30% |
| ^ (πανάρας) | Υπολογισμός δύναμης | 2 ^ 3 |
Note: Για να αλλάξετε τη σειρά εκτίμησης, τοποθετήστε σε παρενθέσεις το τμήμα του τύπου που πρέπει να υπολογιστεί πρώτο.
Τελεστές Σύγκρισης
Μπορείτε να συγκρίνετε τις τιμές κελιών με τους τελεστές σύγκρισης. Όταν συγκρίνονται δύο τιμές με αυτούς τους τελεστές, το αποτέλεσμα είναι λογική τιμή είτε TRUE είτε FALSE:
| Τελεστής | Σημασία | Σημασία |
|---|---|---|
| = (ίσον) | Ισοδυναμεί με | A2 = 3 |
| <> (διαφορετικό) | Δεν είναι ίσο με | A2 <> 3 |
| > (μεγαλύτερο) | Μεγαλύτερο από | A2 > 3 |
| >= (μεγαλύτερο ή ίσο) | Μεγαλύτερο ή ίσο με | A2 >= 3 |
| < (μικρότερο) | Μικρότερο από | A2 < 3 |
| <= (μικρότερο ή ίσο) | Μικρότερο ή ίσο με | A2 <= 3 |
Αναφορές Κελιών Στυλ A1
Αναφορές κελιών στυλ A1 χρησιμοποιούνται για φύλλα εργασίας όπου η στήλη έχει αλφαβητική ταυτότητα (π.χ. “A") και η σειρά αριθμητική ταυτότητα (π.χ. “1"). Οι αναφορές κελιών στυλ A1 μπορούν να χρησιμοποιηθούν ως εξής:
| Αναφορά κελιού | Παράδειγμα | Απόλυτο | Σχετικό | Μικτό |
|---|---|---|---|---|
| Απόλυτο | Σχετικό | Μικτό | ||
| Κελί | $A$2 | A2 | A$2 $A2 |
|
| Σειρά | $2:$2 | 2:2 | - | |
| Στήλη | $A:$A | A:A | - | |
| Εύρος | $A$2:$C$4 | A2:C4 | $A$2:C4 A$2:$C4 |
Παράδειγμα χρήσης αναφοράς κελιού στυλ A1 σε τύπο:
workbook.getCell(0, "A2").setFormula("C3 + SUM(F2:H5)");
Αναφορές Κελιών Στυλ R1C1
Αναφορές κελιών στυλ R1C1 χρησιμοποιούνται για φύλλα εργασίας όπου τόσο η σειρά όσο και η στήλη έχουν αριθμητική ταυτότητα. Οι αναφορές κελιών στυλ R1C1 μπορούν να χρησιμοποιηθούν ως εξής:
| Αναφορά κελιού | Παράδειγμα | Απόλυτο | Σχετικό | Μικτό |
|---|---|---|---|---|
| Απόλυτο | Σχετικό | Μικτό | ||
| Κελί | R2C3 | R[2]C[3] | R2C[3] R[2]C3 |
|
| Σειρά | R2 | R[2] | - | |
| Στήλη | C3 | C[3] | - | |
| Εύρος | R2C3:R5C7 | R[2]C[3]:R[5]C[7] | R2C3:R[5]C[7] R[2]C3:R5C[7] |
Παράδειγμα χρήσης αναφοράς κελιού στυλ R1C1 σε τύπο:
workbook.getCell(0, "A2").setR1C1Formula("R2C4 + SUM(R5C6:R7C9)");
Προεγγεκριμένες Συναρτήσεις
Υπάρχουν προεγγεκριμένες συναρτήσεις που μπορούν να χρησιμοποιηθούν σε τύπους για να απλοποιήσουν την υλοποίησή τους. Αυτές οι συναρτήσεις ενσωματώνουν τις πιο κοινές λειτουργίες, όπως:
- ABS
- AVERAGE
- CEILING
- CHOOSE
- CONCAT
- CONCATENATE
- DATE (σύστημα ημερομηνίας 1900)
- DAYS
- FIND
- FINDB
- IF
- INDEX (μορφή παραπομπής)
- LOOKUP (μορφή διανύσματος)
- MATCH (μορφή διανύσματος)
- MAX
- SUM
- VLOOKUP
Συχνές Ερωτήσεις
Υποστηρίζονται εξωτερικά αρχεία Excel ως πηγή δεδομένων για διάγραμμα με τύπους;
Ναι. Το Aspose.Slides υποστηρίζει εξωτερικά βιβλία εργασίας ως πηγή δεδομένων διαγράμματος, που σας επιτίνει να χρησιμοποιήσετε τύπους από ένα XLSX εκτός της παρουσίασης.
Μπορούν οι τύποι διαγράμματος να παραπέμπουν σε φύλλα εντός του ίδιου βιβλίου εργασίας με το όνομα του φύλλου;
Ναι. Οι τύποι ακολουθούν το προτύπωμα αναφοράς του Excel, έτσι μπορείτε να παραπέμπετε σε άλλα φύλλα εντός του ίδιου βιβλίου ή σε εξωτερικό βιβλίο. Για εξωτερικές παραπομπές, συμπεριλάβετε τη διαδρομή και το όνομα του βιβλίου εργασίας χρησιμοποιώντας τη σύνταξη του Excel.