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
- Crea un grafico a linee in Excel usando C++
- Creazione di grafici a piramide in Excel utilizzando C++
- Crea un grafico a bolle in Excel usando C++
- Grafici supportati aggiuntivi
- Ottieni una licenza gratuita
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.
- Innanzitutto, crea un’istanza della classe IWorkbook.
- Recupera il foglio di lavoro in cui desideri aggiungere il grafico utilizzando il metodo IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Inserisci i dati per il grafico.
- Aggiungi il grafico al foglio di lavoro utilizzando IWorksheet->GetICharts()->Add (Aspose::Cells::Charts::ChartType type,Aspose::Cells::Systems::Int32 upperLeftRow, Aspose::Cells::Systems ::Int32 upperLeftColumn, Aspose::Cells::Systems::Int32 lowerRightRow, Aspose::Cells::Systems::Int32 lowerRightColumn).
- Accedi al grafico con il relativo indice utilizzando il metodo IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Aggiungere l’origine dati per il grafico utilizzando IChart->GetNISeries()->Add (intrusiveptrAspose::Cells::Systems::String area, bool isVertical).
- Infine, salva il file Excel usando IWorkbook->Salva (intrusiveptrAspose::Cells::Systems::String nomefile).
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);
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.
- Innanzitutto, crea un’istanza della classe IWorkbook.
- Recupera il foglio di lavoro in cui desideri aggiungere il grafico utilizzando il metodo IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Inserisci i dati per il grafico.
- Aggiungi il grafico al foglio di lavoro utilizzando IWorksheet->GetICharts()->Add (Aspose::Cells::Charts::ChartType type,Aspose::Cells::Systems::Int32 upperLeftRow, Aspose::Cells::Systems ::Int32 upperLeftColumn, Aspose::Cells::Systems::Int32 lowerRightRow, Aspose::Cells::Systems::Int32 lowerRightColumn).
- Accedi al grafico con il relativo indice utilizzando il metodo IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Aggiungere l’origine dati per il grafico utilizzando IChart->GetNISeries()->Add (intrusiveptrAspose::Cells::Systems::String area, bool isVertical).
- Infine, salva il file Excel usando IWorkbook->Salva (intrusiveptrAspose::Cells::Systems::String nomefile).
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);
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.
- Innanzitutto, crea un’istanza della classe IWorkbook.
- Recupera il foglio di lavoro in cui desideri aggiungere il grafico utilizzando il metodo IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Inserisci i dati per il grafico.
- Aggiungi il grafico al foglio di lavoro utilizzando IWorksheet->GetICharts()->Add (Aspose::Cells::Charts::ChartType type,Aspose::Cells::Systems::Int32 upperLeftRow, Aspose::Cells::Systems ::Int32 upperLeftColumn, Aspose::Cells::Systems::Int32 lowerRightRow, Aspose::Cells::Systems::Int32 lowerRightColumn).
- Accedi al grafico con il relativo indice utilizzando il metodo IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Aggiungi l’origine dati, le dimensioni delle bolle, i valori X e i valori Y per il grafico utilizzando IChart->GetNISeries()->Add (intrusiveptrAspose::Cells::Systems::String area, bool isVertical), IChart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes (intrusiveptrAspose::Cells::Systems::String valore), IChart->GetNISeries()->GetObjectByIndex(0)->SetXValues (intrusiveptrAspose::Cells::Systems::String valore), IChart->GetNISeries()->GetObjectByIndex(0)->SetValues (intrusiveptrAspose::Cells::Systems::String value) rispettivamente.
- Infine, salva il file Excel usando IWorkbook->Salva (intrusiveptrAspose::Cells::Systems::String nomefile).
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);
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.