Buat Bagan Excel C++

Bagan adalah alat yang sangat baik untuk menampilkan data secara ringkas. Selain itu, mereka mewakili data secara visual, membuatnya lebih mudah untuk mengkonsumsi data dalam jumlah besar. Anda mungkin menemukan bagan berguna dalam situasi di mana Anda perlu menampilkan data seperti perbandingan anggaran bulanan atau tingkat adopsi produk. Sehubungan dengan itu, artikel ini akan mengajarkan Anda cara membuat bagan dalam file Excel menggunakan C++.

C++ API untuk Membuat Bagan Excel

Aspose.Cells for C++ adalah pustaka C++ asli yang memungkinkan Anda membuat, membaca, dan memodifikasi file Excel tanpa memerlukan penginstalan Microsoft Excel. API juga mendukung pembuatan bagan dalam file Excel. Anda dapat menginstal API melalui NuGet atau mengunduhnya langsung dari bagian Unduhan.

PM> Install-Package Aspose.Cells.Cpp

Buat Bagan Garis di Excel menggunakan C++

Untuk membuat bagan garis, gunakan nilai enum ChartTypeLine sambil menambahkan bagan. Berikut adalah langkah-langkah untuk membuat diagram garis dalam file Excel.

Berikut ini adalah contoh kode untuk membuat diagram garis di Excel menggunakan C++.

// Jalur direktori keluaran.
StringPtr outDir = new String("OutputDirectory\\");

// Jalur file excel keluaran
StringPtr outputChartTypeLine = outDir->StringAppend(new String("outputChartTypeLine.xlsx"));

// Buat buku kerja baru
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Dapatkan lembar kerja pertama yang dibuat secara default
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Menambahkan nilai sampel ke sel
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);

// Menambahkan grafik ke lembar kerja
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Line, 5, 0, 20, 8);

// Mengakses contoh bagan yang baru ditambahkan
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// Menambahkan SeriesCollection (sumber data bagan) ke bagan mulai dari sel "A1" hingga "B3"
chart->GetNISeries()->Add(new String("A1:B3"), true);

// Menyimpan file Excel
workbook->Save(outputChartTypeLine);
Bagan Garis

Bagan garis dihasilkan oleh kode sampel

Membuat Bagan Piramida di Excel menggunakan C++

Untuk membuat bagan piramida, gunakan nilai enum ChartTypePyramid untuk menentukan jenis bagan sambil menambahkan bagan. Berikut ini adalah langkah-langkah untuk membuat bagan piramida dalam file Excel.

Berikut ini adalah contoh kode untuk membuat diagram piramida di Excel menggunakan C++.

// Jalur direktori keluaran.
StringPtr outDir = new String("OutputDirectory\\");

// Jalur file excel keluaran
StringPtr outputChartTypePyramid = outDir->StringAppend(new String("outputChartTypePyramid.xlsx"));

// Buat buku kerja baru
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Dapatkan lembar kerja pertama yang dibuat secara default
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Menambahkan nilai sampel ke sel
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);

// Menambahkan grafik ke lembar kerja
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Pyramid, 5, 0, 20, 8);

// Mengakses contoh bagan yang baru ditambahkan
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// Menambahkan SeriesCollection (sumber data bagan) ke bagan mulai dari sel "A1" hingga "B3"
chart->GetNISeries()->Add(new String("A1:B3"), true);

// Menyimpan file Excel
workbook->Save(outputChartTypePyramid);
Bagan Piramida

Bagan piramida dihasilkan oleh kode sampel

Buat Bagan Gelembung di Excel menggunakan C++

Untuk membuat bagan gelembung, teruskan nilai enum ChartTypeBubble ke metode IWorksheet->GetICharts()->Add(). Berikut ini adalah langkah-langkah untuk membuat bagan gelembung di file Excel.

Berikut ini adalah contoh kode untuk membuat bubble chart di Excel menggunakan C++.

// Jalur direktori keluaran.
StringPtr outDir = new String("OutputDirectory\\");

// Jalur file excel keluaran
StringPtr outputChartTypeBubble = outDir->StringAppend(new String("outputChartTypeBubble.xlsx"));

// Buat buku kerja baru
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Dapatkan lembar kerja pertama yang dibuat secara default
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Isi data untuk rangkaian grafik
// Nilai Y
worksheet->GetICells()->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("Nilai Y"));
worksheet->GetICells()->GetObjectByIndex(0, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(0, 2)->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(0, 3)->PutValue(6);
// Ukuran Gelembung
worksheet->GetICells()->GetObjectByIndex(1, 0)->PutValue((StringPtr)new String("Ukuran Gelembung"));
worksheet->GetICells()->GetObjectByIndex(1, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(1, 2)->PutValue(3);
worksheet->GetICells()->GetObjectByIndex(1, 3)->PutValue(1);
// Nilai X
worksheet->GetICells()->GetObjectByIndex(2, 0)->PutValue((StringPtr)new String("Nilai X"));
worksheet->GetICells()->GetObjectByIndex(2, 1)->PutValue(1);
worksheet->GetICells()->GetObjectByIndex(2, 2)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(2, 3)->PutValue(3);

// Tetapkan lebar kolom pertama
worksheet->GetICells()->SetColumnWidth(0, 12);

// Menambahkan grafik ke lembar kerja
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Bubble, 5, 0, 20, 8);

// Mengakses contoh bagan yang baru ditambahkan
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// Menambahkan SeriesCollection (sumber data bagan) ke bagan mulai dari B1 hingga D1
chart->GetNISeries()->Add(new String("B1:D1"), true);

// Atur ukuran gelembung
chart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes(new String("B2:D2"));

// Tetapkan nilai sumbu X
chart->GetNISeries()->GetObjectByIndex(0)->SetXValues(new String("B3:D3"));

// Tetapkan nilai sumbu Y
chart->GetNISeries()->GetObjectByIndex(0)->SetValues(new String("B1:D1"));

// Menyimpan file Excel
workbook->Save(outputChartTypeBubble);
Bagan Gelembung

Bagan gelembung dihasilkan oleh kode sampel

Bagan yang Didukung Tambahan

Selain bagan yang ditunjukkan di atas, Aspose.Cells for C++ mendukung banyak jenis bagan tambahan. Anda dapat melihat daftar lengkap grafik yang didukung dengan melihat nilai enum ChartType.

Dapatkan Lisensi Gratis

Anda dapat mencoba API tanpa batasan evaluasi dengan meminta lisensi sementara gratis.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara membuat bagan di spreadsheet Excel menggunakan C++. Khususnya, Anda telah melihat cara membuat bagan Garis, Piramida, dan Gelembung menggunakan Aspose.Cells for C++ API. Selain itu, Anda telah melihat bahwa API mendukung banyak bagan lain yang dapat Anda buat di file Excel Anda. Selain bagan, API menyediakan banyak fitur tambahan untuk bekerja dengan file Excel. Anda dapat menjelajahi API secara mendetail dengan mengunjungi dokumentasi resmi. Jika ada pertanyaan, jangan ragu untuk menghubungi kami di forum dukungan gratis.

Lihat juga