Excel dosyalarının formüllerini yönetmek
Giriş
Microsoft Excel’in etkileyici özelliklerinden biri, verileri formüller ve fonksiyonlar kullanarak işleyebilme yeteneğidir. Microsoft Excel, kullanıcılara karmaşık hesaplamaları hızlıca yapmalarını sağlayan yerleşik fonksiyonlar ve formüller sunar. Aspose.Cells for Python via .NET de, geliştiricilerin kolayca hesaplama yapabilmesine yardımcı olan büyük bir yerleşik fonksiyon ve formül seti sağlar. Ayrıca, Aspose.Cells for Python via .NET, eklenti fonksiyonlarını da destekler. Dahası, Aspose.Cells for Python via .NET dizi ve R1C1 formüllerini de destekler.
Formüller ve Fonksiyonları Nasıl Kullanılır
Aspose.Cells for Python via .NET, Microsoft Excel dosyasını temsil eden Workbook adlı bir sınıf sağlar. Workbook sınıfı, Excel dosyasındaki her çalışma sayfasına erişim sağlayan worksheets koleksiyonunu içerir. Bir çalışma sayfası, Worksheet sınıfı ile temsil edilir. Worksheet sınıfı ise cells koleksiyonu sağlar. Cells koleksiyonundaki her öğe, Cell sınıfı nesnesini temsil eder.
Aşağıda daha detaylı olarak tartışılan Cell sınıfının özellikleri ve metotları kullanılarak hücrelere formül uygulamak mümkündür.
- Yerleşik fonksiyonları kullanarak.
- Eklenti fonksiyonlarını kullanarak.
- Dizi formülleri ile çalışma.
- Bir R1C1 formülü oluşturma.
Yerleşik Fonksiyonları Nasıl Kullanılır
Yerleşik fonksiyonlar veya formüller, geliştiricilerin çaba ve zamanını azaltmak için hazır olarak sağlanmıştır. Aspose.Cells for Python via .NET tarafından desteklenen yerleşik fonksiyonların listesine bakın. Fonksiyonlar alfabetik sırayla listelenmiştir. Gelecekte daha fazla fonksiyon desteklenecektir.
Aspose.Cells for Python via .NET, Microsoft Excel tarafından sunulan çoğu formül veya fonksiyonu destekler. Geliştiriciler bu formülleri API veya tasarımcı elektronik tablosu aracılığıyla kullanabilir. Aspose.Cells for Python via .NET, geniş matematiksel, dize, Mantıksal, tarih/saat, istatistik, veritabanı, arama ve referans formüllerini destekler.
Cell sınıfının formula özelliğini kullanarak hücreye formül ekleyin. Örneğin Karmaşık formüller
= H7*(1+IF(P7 = $L$3,$M$3, (IF(P7=$L$4,$M$4,0))))
, Aspose.Cells for Python via .NET’de de desteklenir. Bir hücreye formül uygularken, her zaman formül oluştururken yaptığınız gibi dizgiyi eşittir işareti (=) ile başlayın ve fonksiyon parametrelerini ayırmak için virgül (,) kullanın.
Aşağıdaki örnekte, karmaşık bir formül, bir çalışma sayfasının cells koleksiyonunun ilk hücresine uygulanır. Formül, Aspose.Cells for Python via .NET tarafından sağlanan yerleşik IF fonksiyonunu kullanır.
from aspose.cells import Workbook | |
from os import os, path | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Create directory if it is not already present. | |
IsExists = path.isdir(dataDir) | |
if notIsExists: | |
os.makedirs(dataDir) | |
# Instantiating a Workbook object | |
workbook = Workbook() | |
# Adding a new worksheet to the Excel object | |
sheetIndex = workbook.worksheets.add() | |
# Obtaining the reference of the newly added worksheet by passing its sheet index | |
worksheet = workbook.worksheets[0] | |
# Adding a value to "A1" cell | |
worksheet.cells.get("A1").put_value(1) | |
# Adding a value to "A2" cell | |
worksheet.cells.get("A2").put_value(2) | |
# Adding a value to "A3" cell | |
worksheet.cells.get("A3").put_value(3) | |
# Adding a SUM formula to "A4" cell | |
worksheet.cells.get("A4").formula = "=SUM(A1:A3)" | |
# Calculating the results of formulas | |
workbook.calculate_formula() | |
# Get the calculated value of the cell | |
value = str(worksheet.cells.get("A4").value) | |
# Saving the Excel file | |
workbook.save(dataDir + "output.xls") |
Eklenti Fonksiyonlarını Nasıl Kullanılır
Excel’e dahil etmek istediğimiz bazı kullanıcı tanımlı formüllere excel eklentisi olarak eklemek istiyoruz. Hücre.Formül işlevi yerleşik fonksiyonları kullanırken sorunsuz çalışır, ancak eklenti fonksiyonlarını veya formülleri ayarlamak için bir ihtiyaç vardır.
Aspose.Cells for Python via .NET, worksheets.register_add_in_function() kullanarak eklenti fonksiyonlarını kaydetme özellikleri sağlar. Daha sonra cell.Formula = herhangiBirFonksiyon, eklenti fonksiyonundan alınan hesaplanan değeri içeren çıktı Excel dosyasına yazar.
Aşağıdaki örnek kodda, eklenti fonksiyonunu kaydetmek için aşağıdaki XLAM dosyası indirilmelidir. Benzer şekilde, çıktı dosyası olan “test_udf.xlsx"yi indirerek çıktıyı kontrol edebilirsiniz.
from aspose.cells import SaveFormat, Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# Create empty workbook | |
workbook = Workbook() | |
# Register macro enabled add-in along with the function name | |
id = workbook.worksheets.register_add_in_function(sourceDir + str(r"TESTUDF.xlam"), "TEST_UDF", False) | |
# Register more functions in the file (if any) | |
workbook.worksheets.register_add_in_function(id, "TEST_UDF1") | |
# Access first worksheet | |
worksheet = workbook.worksheets[0] | |
# Access first cell | |
cell = worksheet.cells.get("A1") | |
# Set formula name present in the add-in | |
cell.formula = "=TEST_UDF()" | |
# Save workbook to output XLSX format. | |
workbook.save(outputDir + str(r"test_udf.xlsx"), SaveFormat.XLSX) |
Dizi Formülü Nasıl Kullanılır
Dizi formüller, formülün bileşenlerine argüman olarak tek sayılar yerine dizileri alan formüllerdir. Dizi formülü gösterildiğinde, süslü parantezlerle ({}) çevrilidir.
Bazı Microsoft Excel fonksiyonları değerler dizileri döndürür. Bir dizi formülü ile birden çok sonucu hesaplamak için, diziyi formül argümanları olarak kullanarak aynı satır ve sütun sayısına sahip bir hücre aralığına girin.
Bir dizi formülünü, Cell sınıfının set_array_formula yöntemini çağırarak bir hücreye uygulamak mümkündür. set_array_formula yöntemi aşağıdaki parametreleri alır:
- Dizi Formülü, dizi formülü.
- Satır Sayısı, dizi formülünün sonucunu doldurmak için satır sayısı.
- Sütun Sayısı, dizi formülünün sonuçlarını doldurmak için sütun sayısı.
from aspose.cells import Workbook | |
from os import os, path | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Create directory if it is not already present. | |
IsExists = path.isdir(dataDir) | |
if notIsExists: | |
os.makedirs(dataDir) | |
# Instantiating a Workbook object | |
workbook = Workbook() | |
# Adding a new worksheet to the Excel object | |
sheetIndex = workbook.worksheets.add() | |
# Obtaining the reference of the newly added worksheet by passing its sheet index | |
worksheet = workbook.worksheets[sheetIndex] | |
# Adding a value to "A1" cell | |
worksheet.cells.get("A1").put_value(1) | |
# Adding a value to "A2" cell | |
worksheet.cells.get("A2").put_value(2) | |
# Adding a value to "A3" cell | |
worksheet.cells.get("A3").put_value(3) | |
# Adding a value to B1 | |
worksheet.cells.get("B1").put_value(4) | |
# Adding a value to "B2" cell | |
worksheet.cells.get("B2").put_value(5) | |
# Adding a value to "B3" cell | |
worksheet.cells.get("B3").put_value(6) | |
# Adding a value to C1 | |
worksheet.cells.get("C1").put_value(7) | |
# Adding a value to "C2" cell | |
worksheet.cells.get("C2").put_value(8) | |
# Adding a value to "C3" cell | |
worksheet.cells.get("C3").put_value(9) | |
# Adding a SUM formula to "A4" cell | |
worksheet.cells.get("A6").set_array_formula("=LINEST(A1:A3,B1:C3,TRUE,TRUE)", 5, 3) | |
# Calculating the results of formulas | |
workbook.calculate_formula() | |
# Get the calculated value of the cell | |
value = str(worksheet.cells.get("A6").value) | |
# Saving the Excel file | |
workbook.save(dataDir + "output.xls") |
R1C1 Formülünü Nasıl Kullanılır
Bir R1C1 referans stili formülünü, Cell sınıfının r1c1_formula özelliği ile bir hücreye ekleyin.
from aspose.cells import Workbook | |
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET | |
# The path to the documents directory. | |
dataDir = RunExamples.GetDataDir(".") | |
# Instantiating a Workbook object | |
workbook = Workbook(dataDir + "Book1.xls") | |
worksheet = workbook.worksheets[0] | |
# Setting an R1C1 formula on the "A11" cell, | |
# Row and Column indeces are relative to destination index | |
worksheet.cells.get("A11").r1c1_formula = "=SUM(R[-10]C[0]:R[-7]C[0])" | |
# Saving the Excel file | |
workbook.save(dataDir + "output.xls") |
Gelişmiş Konular
- Öncüler ve Bağımlılar
- Formüllerde Harici Bağlantıları Ayarla
- Yeni satırlara veri girilirken Tablo veya List Objesinde Formülü otomatik olarak çoğaltın
- Adlandırılmış Aralık için Formül Ayarlama
- Formülleri Ayarlama - Diğer Dilleri Kullanan Kullanıcılar İçin Uyarı
- Paylaşılan Formülü Ayarlama
- Paylaşılan Formülün Maksimum Satırlarını Belirtme
- Desteklenen Excel İşlevleri