Hücrelerle Çalışmak GridWeb

Çalışma sayfasındaki Hücrelere Erişim

Bu konu, hücrelere erişmeyi ele alarak GridWeb’in en temel özelliğine, yani hücrelere erişmeye odaklanmaktadır.

Her çalışma sayfası, GridCells nesnesini ve GridCell nesnelerinin bir koleksiyonunu içerir. Bir GridCell nesnesi, Aspose.Cells.GridWeb’de bir hücreyi temsil eder. GridWeb’i kullanarak herhangi bir hücreye erişmek mümkündür. İki tercih edilen yöntem vardır:

Her bir yaklaşım aşağıda tartışılmıştır.

Hücre Adı Kullanarak

Tüm hücrelerin benzersiz bir adı bulunmaktadır. Örneğin, A1, A2, B1, B2, vb. Aspose.Cells.GridWeb, geliştiricilere hücrenin adını kullanarak istenen herhangi bir hücreye erişme imkanı tanır. Hücre adını (bir dizin olarak) GridCells koleksiyonuna basitçe ileterek istenen hücreye erişebilirsiniz.

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Accessing the worksheet of the Grid that is currently active
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex());
//Accessing "B1" cell of the worksheet
GridCell cell = sheet.getCells().get("B1");

Satır ve Sütun Dizinlerini Kullanarak

Bir hücre, satır ve sütun endeksleri açısından konumuyla da tanınabilir. Bir hücrenin satır ve sütun endekslerini GridCells koleksiyonuna basitçe ileterek istenen hücreye erişebilirsiniz. Bu yaklaşım, yukarıdaki yöntemden daha hızlıdır.

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Accessing the worksheet of the Grid that is currently active
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex());
//Accessing "B1" cell of the worksheet using its row and column indices
GridCell cell = sheet.getCells().get(0, 1);

Hücrenin Değerine Erişme ve Değiştirme

Çalışma Sayfasındaki Hücrelere Erişme konusu, hücrelere erişmeyi ele almıştır. Bu konu, GridWeb API’sını kullanarak hücre değerlerine erişme ve değiştirme konusuna genişletmektedir.

Hücrenin Değerine Erişme ve Değiştirme

Dize Değerleri

Hücrenin değerine erişmeden ve değiştirmeden önce, hücrelere nasıl erişileceğini bilmelisiniz. Hücrelere erişmek için farklı yaklaşımlar hakkında ayrıntılı bilgi için Çalışma Kitabındaki Hücrelere Erişme sayfasına bakın.

Her hücrenin getStringValue() adında bir özelliği vardır. Bir hücre erişildiğinde, geliştiriciler getStringValue() yöntemine erişerek hücrenin dize değerine erişebilirler.

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Accessing the worksheet of the Grid that is currently active
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex());
//Accessing "B1" cell of the worksheet
GridCell cell = sheet.getCells().get("B1");
//Inserting & modifying the string value of "B1" cell
cell.putValue("Hello Aspose.Grid");

Tüm Değer Türleri

Aspose.Cells.GridWeb ayrıca her hücre için putValue adında özel bir yöntem sağlar. Bu yöntemle, bir hücreye (Boolean, int, double, DateTime ve string) tipinde herhangi bir değer eklemek veya değiştirmek mümkündür.

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Accessing the worksheet of the Grid that is currently active
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex());
//Accessing "B1" cell of the worksheet
GridCell cell = sheet.getCells().get("B1");
//Putting a value in "B1" cell
cell.putValue(Calendar.getInstance());

Ayrıca putValue yönteminin herhangi bir türdeki değeri dize formatında alıp otomatik olarak uygun bir veri türüne dönüştürebilen aşırı yüklenmiş bir sürümü de bulunmaktadır. Bu işlemi gerçekleştirmek için putValue yönteminin başka bir parametresine aşağıdaki örnekte gösterildiği gibi true Boolean değerini iletebilirsiniz.

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Accessing the worksheet of the Grid that is currently active
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex());
//Accessing "B1" cell of the worksheet
GridCell cell = sheet.getCells().get("B1");
//Putting a numeric value as string in "B1" cell that will be converted to a suitable data type automatically
cell.putValue("19.4", true);

Hücrelere Formüller Ekleme

Aspose.Cells.GridWeb tarafından sunulan en değerli özellik, çalışma sayfalarındaki formülleri veya işlevleri desteklemedir. Aspose.Cells.GridWeb’ın kendi Formül Motoru vardır ve çalışma sayfalarındaki formülleri hesaplar. Aspose.Cells.GridWeb, önceden yapılandırılmış ve kullanıcı tanımlı işlevleri veya formülleri destekler. Bu konu, Aspose Cells.GridWeb API’sını kullanarak hücrelere formül eklemeyi detaylı olarak ele almaktadır.

Bir Formül Nasıl Eklenir ve Hesaplanır?

Hücrelere formül eklemek, erişmek ve değiştirmek Aspose.Cells.GridWeb’in Formula özelliğini kullanarak mümkündür. Aspose.Cells.GridWeb, basit ila karmaşık arasında değişen kullanıcı tanımlı formülleri destekler. Bununla birlikte, birçok yerleşik işlev veya formül (Microsoft Excel’e benzer) Aspose.Cells.GridWeb ile birlikte sağlanmaktadır. Yerleşik işlevlerin tam listesini görmek için lütfen bu desteklenen işlevler listesine başvurun.

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Accessing the worksheet of the Grid that is currently active
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex());
//Putting some values to cells
sheet.getCells().get("A1").putValue("1st Value");
sheet.getCells().get("A2").putValue("2nd Value");
sheet.getCells().get("A3").putValue("Sum");
sheet.getCells().get("B1").putValue(125.56);
sheet.getCells().get("B2").putValue(23.93);
//Calculating all formulas added in worksheets
gridweb.getWorkSheets().calculateFormula();
//Adding a simple formula to "B3" cell
sheet.getCells().get("B3").setFormula("=SUM(B1:B2)");

GridWeb tarafından B3 hücresine eklenen ancak hesaplanmayan formül

todo:image_alt_text

Yukarıdaki ekran görüntüsünde görebileceğiniz gibi B3 hücresine bir formül eklenmiş ancak henüz hesaplanmamıştır. Formüllerin tümünü hesaplamak için, formüller ekledikten sonra GridWeb denetiminin GridWorksheetCollection ‘ın calculateFormula yöntemini çağırın.

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Calculating all formulas added in worksheets
gridweb.getWorkSheets().calculateFormula();

Kullanıcılar ayrıca Gönder düğmesine tıklayarak formülleri hesaplayabilir.

GridWeb’in Gönder düğmesine tıklama

todo:image_alt_text

ÖNEMLİ: Bir kullanıcı Kaydet veya Geri Al düğmelerine veya sayfa sekmelerine tıklarsa, tüm formüller otomatik olarak GridWeb tarafından hesaplanır.

Hesaplama sonrası formül sonucu

todo:image_alt_text

Diğer Çalışma Sayfalarından Hücrelere Referans Verme

Aspose.Cells.GridWeb kullanarak, farklı çalışma sayfalarında depolanan değerlere formüllerinde referans vermek mümkündür, böylece karmaşık formüller oluşturabilir.

Farklı çalışma sayfalarından bir hücre değerine referans vermenin sözdizimi ŞemaAdı!HücreAdı’dır.

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Accessing the worksheet of the Grid that is currently active
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex());
//Adding a bit complex formula to "A1" cell
sheet.getCells().get("A1").setFormula("=SUM(F1:F7)/ AVERAGE (E1:E7)-Sheet1!C6");

GridWeb’in GridCell’inde Veri Doğrulama Oluşturma

Aspose.Cells.GridWeb, GridWorksheet.getValidations().add() yöntemini kullanarak Veri Doğrulama eklemenize izin verir. Bu yöntemi kullanarak Hücre Aralığını belirtmeniz gerekir. Ancak tek bir GridCell’e Veri Doğrulama oluşturmak istiyorsanız, doğrudan GridCell.createValidation() yöntemini kullanabilirsiniz. Benzer şekilde, bir GridCell’den Veri Doğrulamayı kaldırmak için GridCell.removeValidation() yöntemini kullanabilirsiniz.

Aşağıdaki örnek kod, B3 hücresinde bir Veri Doğrulaması oluşturur. 20 ile 40 arasında olmayan bir değer girerseniz, B3 hücresi Kırmızı XXXX şeklinde bir Doğrulama Hatası gösterecektir, bu ekran görüntüsünde gösterildiği gibi.

todo:image_alt_text

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Access first worksheet
GridWorksheet sheet = gridweb.getWorkSheets().get(0);
//Access cell B3
GridCell cell = sheet.getCells().get("B3");
//Add validation inside the gridcell
//Any value which is not between 20 and 40 will cause error in a gridcell
GridValidation val = cell.createValidation(GridValidationType.WHOLE_NUMBER, true);
val.setFormula1("=20");
val.setFormula2("=40");
val.setOperator(OperatorType.BETWEEN);
val.setShowError(true);
val.setShowInput(true);

Özel Komut Düğmeleri Oluşturma

Aspose.Cells.GridWeb, Gönder, Kaydet ve Geri Al gibi özel düğmeler içerir. Tüm bu düğmeler belirli görevleri Aspose.Cells.GridWeb için gerçekleştirir. Bu özellikle özel görevleri gerçekleştiren özel düğmeler eklemek mümkündür. Bu konu, bu özelliğin nasıl kullanılacağını açıklamaktadır.

Aşağıdaki örnek kod, özel komut düğmesi oluşturmayı ve tıklama olayını nasıl yöneteceğinizi açıklar. Özel komut düğmesi için herhangi bir simge kullanabilirsiniz. Gösterim amaçlı olarak bu resim simgesini kullandık.

todo:image_alt_text

Aşağıdaki ekran görüntüsünde görebileceğiniz gibi, kullanıcı özel komut düğmesine tıkladığında, A1 hücresine “Özel Komut Düğmesine Tıklandı." yazısını ekler.

todo:image_alt_text

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Instantiating a CustomCommandButton object
CustomCommandButton button = new CustomCommandButton();
//Setting the command for button
button.setCommand("MyButton");
//Setting text of the button
button.setText("MyButton");
//Setting tooltip of the button
button.setToolTip("My Custom Command Button");
//Setting image URL of the button
button.setImageUrl("icon.png");
//Adding button to CustomCommandButtons collection of GridWeb
gridweb.getCustomCommandButtons().add(button);

Özel Komut Düğmesi Olay İşleme

Aşağıdaki örnek kod, özel komut düğmesinin olay işlemini nasıl gerçekleştireceğini açıklar.

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Create custom command event handler to handle the click event
CustomCommandEventHandler cceh=new CustomCommandEventHandler(){
public void handleCellEvent(Object sender, String command){
//Identifying a specific button by checking its command
if (command.equals("MyButton"))
{
//Accessing the cells collection of the worksheet that is currently active
GridWorksheet sheet = gridweb.getWorkSheets().get(gridweb.getActiveSheetIndex());
//Putting value to "A1" cell
sheet.getCells().get("A1").putValue("My Custom Command Button is Clicked.");
sheet.getCells().setColumnWidth(0, 50);
}
}
};
//Assign the custom command event handler created above to gridweb
gridweb.CustomCommand = cceh;

GridWeb için Hücre Biçimlendirme

Olası Kullanım Senaryoları

GridWeb şimdi kullanıcıların hücre verilerini 3% gibi yüzde formatında girmelerini destekler ve hücredeki veri otomatik olarak 3.00% olarak biçimlendirilir. Ancak, Yüzde Formatı için hücre stili 9 veya 10 olan GridTableItemStyle.NumberType’ın ayarlanması gerekecektir. 9 numara 3% ‘ı 3% olarak biçimlendirir, ancak 10 numara 3% ‘ı 3.00% olarak biçimlendirir.

GridWeb Çalışsayfanın Hücre Verilerini Yüzde Formatında Girin

Aşağıdaki örnek kod, A1 hücresinin GridTableItemStyle.NumberType’ını 10 olarak ayarlar, bu nedenle giriş verisi 3% otomatik olarak 3.00% olarak biçimlendirilir. Ekran görüntüsünde gösterildiği gibi.

todo:image_alt_text

Örnek Kod

For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Access cell A1 of first gridweb worksheet
GridCell cellA1 = gridweb.getWorkSheets().get(0).getCells().get("A1");
//Access cell style and set its number format to 10 which is a Percentage 0.00% format
GridTableItemStyle st = cellA1.getStyle();
st.setNumberType(10);
cellA1.setStyle(st);