Hücrelerle Çalışma

Genel Bakış

Her çalışma sayfası bir cells Excel tarzı adres dizelerini eşleyen bir koleksiyon (örneğin "A1", "B3") Cell şuna:

from aspose.cells_foss import Workbook, Cell

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

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

nesnelere. Bir hücreye doğrudan alt gösterimle erişirsiniz: Cell Değerler, formüller ve stil bilgileri hepsi nesne üzerinde bulunur. Şunu yapabilirsiniz .value ya hücreyi yerinde değiştirerek onun .formula ya da, özelliğine, Cell ya da hücreyi tamamen yeni bir.


Değerleri Okuma ve Yazma

örnek atayarak adresine. cell.value Şunu atayın bir dize, tamsayı veya kayan nokta sayısı yazmak için. Aynı.

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")

Bu .value özellik herhangi bir Python skaler kabul eder. Kütüphane bunu saklar Python tipini olduğu gibi; yazma sırasında hiçbir örtülü dönüşüm gerçekleşmez.


Cell Yapıcısını Kullanma

Bu Cell yapıcı, bir değere (ve isteğe bağlı olarak bir formül) tek bir ifadede. Oluşan nesneyi atayın Cell nesneyi adres alt dizisini kullanarak sayfada yerleştirin.

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")

İlk konumsal argüman Cell değerdir. Geçirdiğinizde None bu hücre değersiz olarak saklanır, bu da bir formül ayarlamayı düşündüğünüzde faydalıdır ayrı ayrı olarak veya yok bir hücre yerine açıkça boş bir hücre istiyorsanız.


Formül Hücreleri

Bir formül hücresi, statik bir değerin yanında (veya yerine) Excel uyumlu bir ifade dizesi saklar. Bunu oluşturmanın iki yolu vardır.

Cell yapıcısı aracılığıyla — geçirin None değeri ve formül dizesini ikinci argüman olarak:

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")

Aracılığıyla .formula özellik — mevcut bir hücrede özelliği ayarlayın:

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")

Yaygın Formüller Hızlı Başvuru

AmaçFormül dizesi
Aralığı topla=SUM(A1:A10)
Aralığın ortalaması=AVERAGE(A1:A10)
Maksimum değer=MAX(A1:A10)
Minimum değer=MIN(A1:A10)
Boş olmayanları say=COUNT(A1:A10)
Koşullu değer=IF(A1>0,"Positive","Non-positive")
Bir değeri ara=VLOOKUP(D1,A1:B10,2,FALSE)
Dizeleri birleştir=CONCATENATE(A1," ",B1)

Formül dizeleri şununla başlamalıdır =. Kütüphane bunları olduğu gibi depolar; Excel (veya uyumlu bir okuyucu) dosya açıldığında ifadeyi değerlendirir.


Veri Üzerinde Döngü

Bir listeden bir sütun veya satır doldurmak için standart bir Python döngüsü kullanın:

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")

Bu enumerate(iterable, start=N) desen, Excel satır numaralarına sorunsuz bir şekilde eşlenir çünkü Excel satırları 1 tabanlıdır. Başlangıç noktası start=2 satır 1’i bir başlık için ayırır.


Karışık Değer Türleri

Aşağıdaki tam örnek, bir metin başlık satırı, tam sayılar, ondalık sayılar ve metinler içeren üç veri satırı ve sayısal sütunları özetleyen bir formül satırı içeren küçük bir veri kümesi oluşturur.

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")

Dosyayı Excel’de (veya uyumlu bir tablo uygulamasında) açtıktan sonra, bu D sütun ve the B5 / D5 hücreler değerlendirilmiş sonuçları gösterecek formül ifadelerinin.


İpuçları

None değer vs boş dize

Cell(None) ve ws.cells["A1"].value = None depolanmamış bir hücre oluştur değer — çoğu elektronik tabloda hiç yazılmamış bir hücreden ayırt edilemez okuyucular. Cell("") veya ws.cells["A1"].value = "" açıkça bir hücre oluştur boş bir dize içerir, bu da bazı okuyucular ve formüller tarafından farklı şekilde ele alınır (örneğin, =COUNT boş-dize hücrelerini, boş hücreleri görmezden geldiği aynı şekilde görmezden gelir hücreleri, ancak =COUNTA sayar).

Formül dizesi vs statik değer

Okuma .value bir formül hücresinden döndürür None (veya formül atanmadıysa son önbelleklenmiş değer formül atanmasından önce bir değer ayarlandıysa). Okuma .formula döndürür ifade dizesi. Bir formül hücresi ile bir çalışma zamanında düz değer hücresi, kontrol edin ws.cells["A1"].formula boş değil:

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

Ayrıca Bakınız

 Türkçe