Excel Grafikleri Oluşturma C++

Grafikler, verileri kısaca göstermek için mükemmel bir araçtır. Ayrıca, verileri görsel olarak temsil ederek büyük miktarda verinin tüketilmesini kolaylaştırırlar. Aylık bütçe karşılaştırması veya ürün benimseme oranı gibi verileri göstermeniz gereken durumlarda çizelgeleri faydalı bulabilirsiniz. Bunun ışığında, bu makale size C++ kullanarak Excel dosyalarında nasıl grafik oluşturacağınızı öğretecektir.

Excel Grafikleri Oluşturmak için C++ API

Aspose.Cells for C++, Microsoft Excel’in yüklenmesini gerektirmeden Excel dosyaları oluşturmanıza, okumanıza ve değiştirmenize izin veren yerel bir C++ kitaplığıdır. API, Excel dosyalarında grafik oluşturmayı da destekler. API’yi NuGet aracılığıyla yükleyebilir veya doğrudan İndirilenler bölümünden indirebilirsiniz.

PM> Install-Package Aspose.Cells.Cpp

C++ kullanarak Excel’de Çizgi Grafik Oluşturma

Çizgi grafiği oluşturmak için grafiği eklerken ChartTypeLine enum değerini kullanın. Aşağıdakiler, bir Excel dosyasında çizgi grafiği oluşturma adımlarıdır.

Aşağıda, C++ kullanarak Excel’de bir çizgi grafiği oluşturmak için örnek kod verilmiştir.

// Çıkış dizini yolu.
StringPtr outDir = new String("OutputDirectory\\");

// Çıktı excel dosyasının yolu
StringPtr outputChartTypeLine = outDir->StringAppend(new String("outputChartTypeLine.xlsx"));

// Yeni bir çalışma kitabı oluştur
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Varsayılan olarak oluşturulan ilk çalışma sayfasını alın
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Hücrelere örnek değerler ekleme
worksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue(50);
worksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue(100);
worksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue(150);
worksheet->GetICells()->GetObjectByIndex(new String("B1"))->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(new String("B2"))->PutValue(20);
worksheet->GetICells()->GetObjectByIndex(new String("B3"))->PutValue(50);

// Çalışma sayfasına grafik ekleme
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Line, 5, 0, 20, 8);

// Yeni eklenen grafiğin örneğine erişme
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// "A1" hücresinden "B3" hücresine değişen grafiğe SeriesCollection (grafik veri kaynağı) ekleme
chart->GetNISeries()->Add(new String("A1:B3"), true);

// Excel dosyasını kaydetme
workbook->Save(outputChartTypeLine);
Çizgi grafik

Örnek kod tarafından oluşturulan çizgi grafiği

C++ kullanarak Excel’de Piramit Grafiği Oluşturma

Bir piramit grafiği oluşturmak için, grafiği eklerken grafik türünü belirtmek için ChartTypePyramid enum değerini kullanın. Aşağıda, bir Excel dosyasında bir piramit grafiği oluşturma adımları verilmiştir.

Aşağıda, C++ kullanarak Excel’de bir piramit grafiği oluşturmak için örnek kod verilmiştir.

// Çıkış dizini yolu.
StringPtr outDir = new String("OutputDirectory\\");

// Çıktı excel dosyasının yolu
StringPtr outputChartTypePyramid = outDir->StringAppend(new String("outputChartTypePyramid.xlsx"));

// Yeni bir çalışma kitabı oluştur
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Varsayılan olarak oluşturulan ilk çalışma sayfasını alın
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Hücrelere örnek değerler ekleme
worksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue(50);
worksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue(100);
worksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue(150);
worksheet->GetICells()->GetObjectByIndex(new String("B1"))->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(new String("B2"))->PutValue(20);
worksheet->GetICells()->GetObjectByIndex(new String("B3"))->PutValue(50);

// Çalışma sayfasına grafik ekleme
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Pyramid, 5, 0, 20, 8);

// Yeni eklenen grafiğin örneğine erişme
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// "A1" hücresinden "B3" hücresine değişen grafiğe SeriesCollection (grafik veri kaynağı) ekleme
chart->GetNISeries()->Add(new String("A1:B3"), true);

// Excel dosyasını kaydetme
workbook->Save(outputChartTypePyramid);
Piramit Grafiği

Örnek kod tarafından oluşturulan piramit grafiği

C++ kullanarak Excel’de Kabarcık Grafiği Oluşturun

Balon grafiği oluşturmak için ChartTypeBubble numaralandırma değerini IWorksheet->GetICarts()->Add() yöntemine iletin. Aşağıda, bir Excel dosyasında balon grafiği oluşturma adımları yer almaktadır.

Aşağıda, C++ kullanarak Excel’de kabarcık grafiği oluşturmak için örnek kod verilmiştir.

// Çıkış dizini yolu.
StringPtr outDir = new String("OutputDirectory\\");

// Çıktı excel dosyasının yolu
StringPtr outputChartTypeBubble = outDir->StringAppend(new String("outputChartTypeBubble.xlsx"));

// Yeni bir çalışma kitabı oluştur
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Varsayılan olarak oluşturulan ilk çalışma sayfasını alın
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Grafiğin serisi için verileri doldurun
// Y Değerleri
worksheet->GetICells()->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("Y Değerleri"));
worksheet->GetICells()->GetObjectByIndex(0, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(0, 2)->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(0, 3)->PutValue(6);
// Kabarcık Boyutu
worksheet->GetICells()->GetObjectByIndex(1, 0)->PutValue((StringPtr)new String("Kabarcık Boyutu"));
worksheet->GetICells()->GetObjectByIndex(1, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(1, 2)->PutValue(3);
worksheet->GetICells()->GetObjectByIndex(1, 3)->PutValue(1);
// X Değerleri
worksheet->GetICells()->GetObjectByIndex(2, 0)->PutValue((StringPtr)new String("X Değerleri"));
worksheet->GetICells()->GetObjectByIndex(2, 1)->PutValue(1);
worksheet->GetICells()->GetObjectByIndex(2, 2)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(2, 3)->PutValue(3);

// İlk sütun genişliğini ayarla
worksheet->GetICells()->SetColumnWidth(0, 12);

// Çalışma sayfasına grafik ekleme
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Bubble, 5, 0, 20, 8);

// Yeni eklenen grafiğin örneğine erişme
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// B1 ile D1 arasında değişen grafiğe SeriesCollection (grafik veri kaynağı) ekleme
chart->GetNISeries()->Add(new String("B1:D1"), true);

// Kabarcık boyutlarını ayarla
chart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes(new String("B2:D2"));

// X ekseni değerlerini ayarla
chart->GetNISeries()->GetObjectByIndex(0)->SetXValues(new String("B3:D3"));

// Y ekseni değerlerini ayarla
chart->GetNISeries()->GetObjectByIndex(0)->SetValues(new String("B1:D1"));

// Excel dosyasını kaydetme
workbook->Save(outputChartTypeBubble);
Kabarcık Grafiği

Örnek kod tarafından oluşturulan balon grafiği

Ek Desteklenen Grafikler

Aspose.Cells for C++, yukarıda gösterilen çizelgelerin dışında birçok ek grafik tipini destekler. ChartType numaralandırma değerlerini görüntüleyerek desteklenen grafiklerin tam listesini görüntüleyebilirsiniz.

Ücretsiz Lisans Alın

Ücretsiz bir geçici lisans talep ederek API’yi değerlendirme sınırlamaları olmaksızın deneyebilirsiniz.

Çözüm

Bu makalede, C++ kullanarak Excel elektronik tablolarında nasıl grafik oluşturulacağını öğrendiniz. Özellikle Aspose.Cells for C++ API kullanarak Çizgi, Piramit ve Kabarcık grafiklerinin nasıl oluşturulduğunu gördünüz. Ayrıca, API’nin Excel dosyalarınızda oluşturabileceğiniz çok sayıda başka grafiği desteklediğini gördünüz. Grafiklerin yanı sıra API, Excel dosyalarıyla çalışmak için birçok ek özellik sağlar. Resmi belgeleri ziyaret ederek API’yi ayrıntılı olarak inceleyebilirsiniz. Herhangi bir sorunuz olursa lütfen ücretsiz destek forumumuzdan bize ulaşmaktan çekinmeyin.

Ayrıca bakınız