Crea grafici Excel C++

I grafici sono uno strumento eccellente per mostrare in modo conciso i dati. Inoltre, rappresentano i dati visivamente, facilitando il consumo di grandi quantità di dati. Potresti trovare i grafici utili in situazioni in cui è necessario mostrare dati come il confronto del budget mensile o il tasso di adozione del prodotto. Alla luce di ciò, questo articolo ti insegnerà come creare grafici in file Excel utilizzando C++.

API C++ per la creazione di grafici Excel

Aspose.Cells for C++ è una libreria C++ nativa che consente di creare, leggere e modificare file Excel senza richiedere l’installazione di Microsoft Excel. L’API supporta anche la creazione di grafici in file Excel. Puoi installare l’API tramite NuGet o scaricarla direttamente dalla sezione Download.

PM> Install-Package Aspose.Cells.Cpp

Crea un grafico a linee in Excel usando C++

Per creare un grafico a linee, utilizzare il valore enum ChartTypeLine durante l’aggiunta del grafico. Di seguito sono riportati i passaggi per creare un grafico a linee in un file Excel.

Di seguito è riportato il codice di esempio per creare un grafico a linee in Excel utilizzando C++.

// Percorso della directory di output.
StringPtr outDir = new String("OutputDirectory\\");

// Percorso del file excel di output
StringPtr outputChartTypeLine = outDir->StringAppend(new String("outputChartTypeLine.xlsx"));

// Crea una nuova cartella di lavoro
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Ottieni il primo foglio di lavoro creato per impostazione predefinita
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Aggiunta di valori di esempio alle celle
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);

// Aggiunta di un grafico al foglio di lavoro
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Line, 5, 0, 20, 8);

// Accesso all'istanza del grafico appena aggiunto
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// Aggiunta di SeriesCollection (origine dati grafico) al grafico che va dalla cella "A1" a "B3"
chart->GetNISeries()->Add(new String("A1:B3"), true);

// Salvataggio del file Excel
workbook->Save(outputChartTypeLine);
Grafico a linee

Grafico a linee generato dal codice di esempio

Creazione di grafici a piramide in Excel utilizzando C++

Per creare un grafico a piramide, utilizzare il valore enum ChartTypePyramid per specificare il tipo di grafico durante l’aggiunta del grafico. Di seguito sono riportati i passaggi per creare un grafico a piramide in un file Excel.

Di seguito è riportato il codice di esempio per creare un grafico a piramide in Excel utilizzando C++.

// Percorso della directory di output.
StringPtr outDir = new String("OutputDirectory\\");

// Percorso del file excel di output
StringPtr outputChartTypePyramid = outDir->StringAppend(new String("outputChartTypePyramid.xlsx"));

// Crea una nuova cartella di lavoro
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Ottieni il primo foglio di lavoro creato per impostazione predefinita
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Aggiunta di valori di esempio alle celle
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);

// Aggiunta di un grafico al foglio di lavoro
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Pyramid, 5, 0, 20, 8);

// Accesso all'istanza del grafico appena aggiunto
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// Aggiunta di SeriesCollection (origine dati grafico) al grafico che va dalla cella "A1" a "B3"
chart->GetNISeries()->Add(new String("A1:B3"), true);

// Salvataggio del file Excel
workbook->Save(outputChartTypePyramid);
Grafico a piramide

Grafico a piramide generato dal codice di esempio

Crea un grafico a bolle in Excel usando C++

Per creare un grafico a bolle, passare il valore enum ChartTypeBubble al metodo IWorksheet->GetICharts()->Add(). Di seguito sono riportati i passaggi per creare un grafico a bolle in un file Excel.

Di seguito è riportato il codice di esempio per creare un grafico a bolle in Excel utilizzando C++.

// Percorso della directory di output.
StringPtr outDir = new String("OutputDirectory\\");

// Percorso del file excel di output
StringPtr outputChartTypeBubble = outDir->StringAppend(new String("outputChartTypeBubble.xlsx"));

// Crea una nuova cartella di lavoro
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Ottieni il primo foglio di lavoro creato per impostazione predefinita
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Inserisci i dati per le serie del grafico
// Valori Y
worksheet->GetICells()->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("Valori Y"));
worksheet->GetICells()->GetObjectByIndex(0, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(0, 2)->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(0, 3)->PutValue(6);
// Dimensione della bolla
worksheet->GetICells()->GetObjectByIndex(1, 0)->PutValue((StringPtr)new String("Dimensione della bolla"));
worksheet->GetICells()->GetObjectByIndex(1, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(1, 2)->PutValue(3);
worksheet->GetICells()->GetObjectByIndex(1, 3)->PutValue(1);
// X valori
worksheet->GetICells()->GetObjectByIndex(2, 0)->PutValue((StringPtr)new String("X valori"));
worksheet->GetICells()->GetObjectByIndex(2, 1)->PutValue(1);
worksheet->GetICells()->GetObjectByIndex(2, 2)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(2, 3)->PutValue(3);

// Imposta la larghezza della prima colonna
worksheet->GetICells()->SetColumnWidth(0, 12);

// Aggiunta di un grafico al foglio di lavoro
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Bubble, 5, 0, 20, 8);

// Accesso all'istanza del grafico appena aggiunto
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// Aggiunta di SeriesCollection (origine dati grafico) al grafico che va da B1 a D1
chart->GetNISeries()->Add(new String("B1:D1"), true);

// Imposta le dimensioni delle bolle
chart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes(new String("B2:D2"));

// Imposta i valori dell'asse X
chart->GetNISeries()->GetObjectByIndex(0)->SetXValues(new String("B3:D3"));

// Imposta i valori dell'asse Y
chart->GetNISeries()->GetObjectByIndex(0)->SetValues(new String("B1:D1"));

// Salvataggio del file Excel
workbook->Save(outputChartTypeBubble);
Grafico a bolle

Grafico a bolle generato dal codice di esempio

Grafici supportati aggiuntivi

Oltre ai grafici mostrati sopra, Aspose.Cells per C++ supporta molti tipi di grafici aggiuntivi. È possibile visualizzare l’elenco completo dei grafici supportati visualizzando i valori enum ChartType.

Ottieni una licenza gratuita

Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo hai imparato come creare grafici nei fogli di calcolo di Excel usando C++. In particolare, hai visto come creare grafici a linee, piramidi e bolle usando Aspose.Cells per l’API C++. Inoltre, hai visto che l’API supporta un gran numero di altri grafici che puoi creare nei tuoi file Excel. Oltre ai grafici, l’API fornisce molte funzionalità aggiuntive per lavorare con i file Excel. Puoi esplorare l’API in dettaglio visitando la documentazione ufficiale. In caso di domande, non esitare a contattarci sul nostro forum di supporto gratuito.

Guarda anche