Εργασία με Κελιά

Επισκόπηση

Κάθε φύλλο εργασίας εκθέτει ένα cells συλλογή που αντιστοιχίζει συμβολοσειρές διευθύνσεων σε στυλ Excel (όπως "A1", "B3") σε Cell αντικείμενα. Πρόσβαση σε ένα κελί γίνεται απευθείας με δείκτη:

from aspose.cells_foss import Workbook, Cell

workbook = Workbook()
ws = workbook.worksheets[0]

##Access a cell by address
cell = ws.cells["A1"]

Τιμές, τύποι και πληροφορίες στυλ ζουν όλα στο Cell αντικείμενο. Μπορείτε είτε να μεταβάλετε ένα κελί επί τόπου γράφοντας στο .value ή .formula ιδιότητα, ή να αντικαταστήσετε το κελί εντελώς εκχωρώντας ένα νέο Cell στιγμιότυπο στη διεύθυνση.


Ανάγνωση και Εγγραφή Τιμών

Εκχωρήστε στο cell.value για να γράψετε μια συμβολοσειρά, ακέραιο ή δεκαδικό. Διαβάστε την ίδια ιδιότητα πίσω για να ανακτήσετε ό,τι αποθηκεύτηκε.

from aspose.cells_foss import Workbook

workbook = Workbook()
ws = workbook.worksheets[0]

##Write a string
ws.cells["A1"].value = "Hello, world"

##Write an integer
ws.cells["A2"].value = 42

##Write a float
ws.cells["A3"].value = 3.14159

##Read values back
print(ws.cells["A1"].value)   # Hello, world
print(ws.cells["A2"].value)   # 42
print(ws.cells["A3"].value)   # 3.14159

workbook.save("values_demo.xlsx")

Το .value η ιδιότητα δέχεται οποιοδήποτε Python scalar. Η βιβλιοθήκη αποθηκεύει το τύπο Python όπως είναι· δεν πραγματοποιείται καμία έμμεση μετατροπή κατά τη στιγμή της εγγραφής.


Χρήση του Κατασκευαστή Cell

Το Cell ο κατασκευαστής σας επιτρέπει να δημιουργήσετε ένα κελί με μια τιμή (και προαιρετικά ένα formula) σε μία μόνο έκφραση. Ανάθεσε το προκύπτον Cell αντικείμενο στο υποδείκτη διεύθυνσης για να το τοποθετήσεις στο φύλλο.

from aspose.cells_foss import Workbook, Cell

workbook = Workbook()
ws = workbook.worksheets[0]

##Integer cell
ws.cells["A1"] = Cell(42)

##String cell
ws.cells["A2"] = Cell("Revenue")

##Float cell
ws.cells["A3"] = Cell(3.14)

##Explicitly empty cell (no value, no formula)
ws.cells["A4"] = Cell(None)

workbook.save("cell_constructor_demo.xlsx")

Το πρώτο ορισμα θέσης προς Cell είναι η τιμή. Όταν περνάς None το το κελί αποθηκεύεται χωρίς τιμή, κάτι που είναι χρήσιμο όταν σκοπεύεις να ορίσεις έναν τύπο ξεχωριστά ή θέλεις ένα ρητά κενό κελί αντί για ένα που λείπει.


Κελιά Τύπων

Ένα κελί τύπου αποθηκεύει μια συμβολοσειρά έκφρασης συμβατή με το Excel παράλληλα (ή αντί για) μια στατική τιμή. Υπάρχουν δύο τρόποι για να δημιουργήσετε ένα.

Μέσω του κατασκευαστή Cell — πέρασε None ως τιμή και τη συμβολοσειρά τύπου ως δεύτερο όρισμα:

from aspose.cells_foss import Workbook, Cell

workbook = Workbook()
ws = workbook.worksheets[0]

ws.cells["A1"] = Cell(10)
ws.cells["A2"] = Cell(20)
ws.cells["A3"] = Cell(30)

##Formula via constructor: value=None, formula="=SUM(A1:A3)"
ws.cells["A4"] = Cell(None, "=SUM(A1:A3)")

workbook.save("formula_constructor.xlsx")

Μέσω του .formula ιδιότητα — όρισε την ιδιότητα σε ένα υπάρχον κελί:

from aspose.cells_foss import Workbook, Cell

workbook = Workbook()
ws = workbook.worksheets[0]

for i, v in enumerate([5, 10, 15, 20, 25], start=1):
    ws.cells[f"A{i}"].value = v

ws.cells["B1"].formula = "=AVERAGE(A1:A5)"

workbook.save("formula_property.xlsx")

Γρήγορη Αναφορά Συνηθισμένων Τύπων

ΣκοπόςΣυμβολοσειρά τύπου
Άθροισμα περιοχής=SUM(A1:A10)
Μέσος όρος περιοχής=AVERAGE(A1:A10)
Μέγιστη τιμή=MAX(A1:A10)
Ελάχιστη τιμή=MIN(A1:A10)
Καταμέτρηση μη κενών=COUNT(A1:A10)
Τιμή υπό συνθήκη=IF(A1>0,"Positive","Non-positive")
Αναζήτηση τιμής=VLOOKUP(D1,A1:B10,2,FALSE)
Συνένωση συμβολοσειρών=CONCATENATE(A1," ",B1)

Οι συμβολοσειρές τύπων πρέπει να ξεκινούν με =. Η βιβλιοθήκη τις αποθηκεύει ακριβώς· Excel (ή ένας συμβατός αναγνώστης) αξιολογεί την έκφραση όταν ανοίγεται το αρχείο.


Επανάληψη Δεδομένων

Χρησιμοποιήστε έναν τυπικό βρόχο Python για να γεμίσετε μια στήλη ή γραμμή από μια λίστα:

from aspose.cells_foss import Workbook

workbook = Workbook()
ws = workbook.worksheets[0]

monthly_sales = [12_500, 14_200, 9_800, 17_600, 21_100, 18_400]

##Write a header
ws.cells["A1"].value = "Monthly Sales"

##Write data starting at row 2 (index 1 → address A2)
for i, val in enumerate(monthly_sales, start=2):
    ws.cells[f"A{i}"].value = val

##Write a SUM formula below the data
last_row = 1 + len(monthly_sales)  # row index of last data cell
ws.cells[f"A{last_row + 1}"].formula = f"=SUM(A2:A{last_row})"

workbook.save("monthly_sales.xlsx")

Το enumerate(iterable, start=N) το μοτίβο αντιστοιχεί καθαρά στους αριθμούς γραμμών του Excel επειδή οι γραμμές του Excel είναι αριθμημένες από το 1. Ξεκινώντας από start=2 κρατά τη γραμμή 1 για ένα κεφαλίδα.


Ανάμεικτοι Τύποι Τιμών

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

from aspose.cells_foss import Workbook, Cell

workbook = Workbook()
ws = workbook.worksheets[0]

##--- Header row ---
ws.cells["A1"].value = "Product"
ws.cells["B1"].value = "Units Sold"
ws.cells["C1"].value = "Unit Price"
ws.cells["D1"].value = "Revenue"

##--- Data rows ---
##Row 2
ws.cells["A2"] = Cell("Widget A")
ws.cells["B2"] = Cell(120)
ws.cells["C2"] = Cell(9.99)
ws.cells["D2"] = Cell(None, "=B2*C2")

##Row 3
ws.cells["A3"] = Cell("Widget B")
ws.cells["B3"] = Cell(85)
ws.cells["C3"] = Cell(14.50)
ws.cells["D3"] = Cell(None, "=B3*C3")

##Row 4
ws.cells["A4"] = Cell("Widget C")
ws.cells["B4"] = Cell(200)
ws.cells["C4"] = Cell(4.75)
ws.cells["D4"] = Cell(None, "=B4*C4")

##--- Summary row ---
ws.cells["A5"].value = "TOTAL"
ws.cells["B5"] = Cell(None, "=SUM(B2:B4)")
ws.cells["D5"] = Cell(None, "=SUM(D2:D4)")

workbook.save("mixed_types_dataset.xlsx")
print("Saved mixed_types_dataset.xlsx")

Αφού ανοίξετε το αρχείο στο Excel (ή σε οποιαδήποτε συμβατή εφαρμογή λογιστικού φύλλου), το D στήλη και το B5 / D5 τα κελιά θα εμφανίζουν τα αξιολογημένα αποτελέσματα των εκφράσεων τύπου.


Συμβουλές

None τιμή vs κενή συμβολοσειρά

Cell(None) και ws.cells["A1"].value = None δημιουργήστε ένα κελί χωρίς αποθηκευμένη τιμή τιμή — αδιάκριτη από ένα κελί που δεν είχε ποτέ γραφτεί στα περισσότερα υπολογιστικά φύλλα αναγνώστες. Cell("") ή ws.cells["A1"].value = "" δημιουργήστε ένα κελί που ρητά περιέχει μια κενή συμβολοσειρά, την οποία ορισμένοι αναγνώστες και τύποι αντιμετωπίζουν διαφορετικά (για παράδειγμα, =COUNT αγνοεί τα κελιά με κενή συμβολοσειρά με τον ίδιο τρόπο που αγνοεί τα κενά κελιά, αλλά =COUNTA τα μετράει).

Συμβολοσειρά τύπου vs στατική τιμή

Ανάγνωση .value από ένα κελί τύπου επιστρέφει None (ή την τελευταία αποθηκευμένη τιμή εάν έχει οριστεί πριν την ανάθεση του τύπου). Η ανάγνωση .formula επιστρέφει το συμβολοσειρά έκφρασης. Εάν χρειάζεται να διακρίνετε μεταξύ ενός κελιού τύπου και ενός κελί απλής τιμής κατά το χρόνο εκτέλεσης, ελέγξτε αν ws.cells["A1"].formula δεν είναι κενό:

cell = ws.cells["A1"]
if cell.formula:
    print(f"Formula: {cell.formula}")
else:
    print(f"Value: {cell.value}")

Δείτε επίσης

 Ελληνικά