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
- C++ kullanarak Excel’de Çizgi Grafik Oluşturma
- C++ kullanarak Excel’de Piramit Grafiği Oluşturma
- C++ kullanarak Excel’de Kabarcık Grafiği Oluşturun
- Ek Desteklenen Grafikler
- Ücretsiz Lisans Alın
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.
- İlk olarak, IWorkbook sınıfının bir örneğini oluşturun.
- IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) yöntemini kullanarak grafiği eklemek istediğiniz çalışma sayfasını alın.
- Grafik için verileri girin.
- IWorksheet->GetICarts()->Add (Aspose::Cells::Charts::ChartType type,Aspose::Cells::Systems::Int32 UpperLeftRow, Aspose::Cells::Systems) kullanarak çalışma sayfasına grafiği ekleyin. ::Int32 UpperLeftColumn, Aspose::Cells::Systems::Int32 lowerRightRow, Aspose::Cells::Systems::Int32 lowerRightColumn) yöntemi.
- IWorksheet->GetICarts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) yöntemini kullanarak grafiğe dizini ile erişin.
- ICart->GetNISeries()->Add (intrusiveptr) kullanarak grafiğin veri kaynağını ekleyin.Aspose::Cells::Systems::String alan, bool isVertical) yöntemi.
- Son olarak, Excel dosyasını IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String dosyaAdı) yöntemi.
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);
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.
- İlk olarak, IWorkbook sınıfının bir örneğini oluşturun.
- IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) yöntemini kullanarak grafiği eklemek istediğiniz çalışma sayfasını alın.
- Grafik için verileri girin.
- IWorksheet->GetICarts()->Add (Aspose::Cells::Charts::ChartType type,Aspose::Cells::Systems::Int32 UpperLeftRow, Aspose::Cells::Systems) kullanarak çalışma sayfasına grafiği ekleyin. ::Int32 UpperLeftColumn, Aspose::Cells::Systems::Int32 lowerRightRow, Aspose::Cells::Systems::Int32 lowerRightColumn) yöntemi.
- IWorksheet->GetICarts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) yöntemini kullanarak grafiğe dizini ile erişin.
- ICart->GetNISeries()->Add (intrusiveptr) kullanarak grafiğin veri kaynağını ekleyin.Aspose::Cells::Systems::String alan, bool isVertical) yöntemi.
- Son olarak, Excel dosyasını IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String dosyaAdı) yöntemi.
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);
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.
- İlk olarak, IWorkbook sınıfının bir örneğini oluşturun.
- IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) yöntemini kullanarak grafiği eklemek istediğiniz çalışma sayfasını alın.
- Grafik için verileri girin.
- IWorksheet->GetICarts()->Add (Aspose::Cells::Charts::ChartType type,Aspose::Cells::Systems::Int32 UpperLeftRow, Aspose::Cells::Systems) kullanarak çalışma sayfasına grafiği ekleyin. ::Int32 UpperLeftColumn, Aspose::Cells::Systems::Int32 lowerRightRow, Aspose::Cells::Systems::Int32 lowerRightColumn) yöntemi.
- IWorksheet->GetICarts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) yöntemini kullanarak grafiğe dizini ile erişin.
- ICart->GetNISeries()->Add (intrusiveptr) öğesini kullanarak grafik için veri kaynağını, kabarcık boyutlarını, X değerlerini ve Y değerlerini ekleyin.Aspose::Cells::Systems::String alan, bool isVertical), ICart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes (intrusiveptrAspose::Cells::Systems::String değer), ICart->GetNISeries()->GetObjectByIndex(0)->SetXValues (intrusiveptrAspose::Cells::Systems::String değer), ICart->GetNISeries()->GetObjectByIndex(0)->SetValues (intrusiveptrAspose::Cells::Systems::String değer) yöntemleri sırasıyla.
- Son olarak, Excel dosyasını IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String dosyaAdı) yöntemi.
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);
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.