Hücreler ve veri modeli ile çalışmak

Hücreler ve veri modeli ile çalışmak

Hücreler ve veri modeli ile çalışmak

O zamanlar Cell sınıf, ayrı spreadsheet hücre değerleri, formül ve stillerin okuma ve yazılması için ana arayüzüdür. Cells Bir adres çubuğu kullanarak toplama.


Hücreler için değerler yazmak

Kullanım Cell::PutValue Bir hücreye metin, sayı, boolean veya tarih yazmak için:

#include "aspose/cells_foss/Workbook.h"
#include "aspose/cells_foss/Worksheet.h"
#include "aspose/cells_foss/Cell.h"

using namespace Aspose::Cells_FOSS;

int main() {
    Workbook workbook;
    Worksheet& sheet = workbook.GetWorksheets()[0];

    sheet.GetCells()["A1"].PutValue("Product");
    sheet.GetCells()["B1"].PutValue("Price");
    sheet.GetCells()["A2"].PutValue("Widget");
    sheet.GetCells()["B2"].PutValue(9.99);
    sheet.GetCells()["C2"].PutValue(true);

    workbook.Save("data.xlsx");
    return 0;
}

Formüller Kurmak

Kullanım Cell::SetFormula(formula) Excel uyumlu bir formül yazmak için. formülleri, dosya açılırken Excel veya uyumluluk okuyucu tarafından değerlendirilir.

sheet.GetCells()["B4"].SetFormula("=SUM(B2:B3)");
sheet.GetCells()["C4"].SetFormula("=AVERAGE(B2:B3)");

Cell değerleri okuyun

Bir hücrenin mevcut değerini okuyun Cell::GetValue(),A’ya geri dönen CellValue Konu: Uygun bir aksesuar kullanarak belirli bir tip haline dönüştürülür:

CellValue val = sheet.GetCells()["B2"].GetValue();
double price = val.AsDouble();
std::string text = sheet.GetCells()["A2"].GetStringValue();

O zamanlar CellValue Sınıf tipik aksesuarlar sunar:

MethodGeri Dönüş Türü
AsDouble()double
AsInteger()int
AsBool()bool
AsString()std::string
AsDateTime()DateTime

Süt ve sütun ile hücreler erişimi

Adres zincirlerinin yanı sıra, sıfır tabanlı satır ve sütun göstergeleri ile erişim hücreleri:

// Address string
Cell& cellA1 = sheet.GetCells()["A1"];

// Row/column index (0-based)
int row = cellA1.GetRow();
int col = cellA1.GetColumn();

Süt hücreleri

Kullanım Cells::Merge Bir hücreye bir düzlem aralığı birleştirmek için:

CellArea area = CellArea::CreateCellArea("A1", "C1");
sheet.GetCells().Merge(area.StartRow, area.StartColumn,
                       area.EndRow - area.StartRow + 1,
                       area.EndColumn - area.StartColumn + 1);

Teklifi Göstermek

hücre değerini formatlı görüntü metni olarak geri almak için (sayı biçimleri uygulamak), kullanın Cell::GetDisplayStringValue():

std::string display = sheet.GetCells()["B2"].GetDisplayStringValue();

İpuçları ve En İyi Uygulamalar

  • Prefer PutValue Üzerine SetValue Doğrudan sözlü görevler için - PutValue Tüm ilkel türler için aşırı yükleme vardır.
  • Kullanım GetStringValue() Tip dönüştürme olmadan metin geri almak için; kullanmak GetValue().AsDouble() Sayısal doğruluk gerektirir.
  • Her zaman arama SetFormula formül hücreleri için değil, PutValue("=SUM(...)") - Bu, bir formül değil, kelime olarak bir çerçeveyi kaydeder.
  • Kullanım CellArea::CreateCellArea(start, end) Birleşme ve biçimlendirme operasyonları için aralıklı nesneler oluşturmak.

ortak sorunlar

IssueCauseFix
GetValue() Boş döndüCell yazılmamıştırBir değer yazın PutValue Okumadan önce
Formula DeğerlendirilmemişFormül string olarak kaydedildiKullanım SetFormula(expr) Bunun yerine PutValue(expr)
Birleşme başarısızlıkEngelli aralık boyutlarıEnsure endRow >= startRow ve endColumn >= startColumn
Tipi yanlışlık okumaYanlış çağrısı As*() YöntemlerAksesuarı orijinal ile eşleştirin PutValue Tipi

API Referans Özetleri

Sınıf / YöntemDescription
Cell::PutValue(value)Hücreye bir değer yazın.
Cell::SetFormula(formula)Excel Formula Çizgisi
Cell::GetValue()hücre değerini bir olarak geri getirin. CellValue
Cell::GetStringValue()Bir çubuk olarak hücre değerini geri getirin
Cell::GetDisplayStringValue()Formatlı ekran çubuğunu geri getirin
Cell::GetRow()0 tabanlı satır endeksi alın
Cell::GetColumn()0 tabanlı sütun endeksi alın
Cell::GetStyle()Mevcut hücre tarzını kullanın.
Cell::SetStyle(style)Bu hücreye değiştirilmiş bir stil uygulayın.
CellValue::AsDouble()hücre değerini ikiye dönüştürmek
CellValue::AsString()Cell değerini string’e dönüştürmek
Cells::Merge(row, col, rows, cols)Bir düz aralığı oluşturun

See Also

 Türkçe