Wykresy są doskonałym narzędziem do zwięzłego przedstawiania danych. Ponadto przedstawiają dane wizualnie, ułatwiając konsumowanie dużych ilości danych. Wykresy mogą okazać się pomocne w sytuacjach, w których trzeba pokazać dane, takie jak porównanie miesięcznego budżetu lub współczynnik przyjęcia produktu. W związku z tym w tym artykule dowiesz się, jak tworzyć wykresy w plikach Excela przy użyciu języka C++.
- C++ API do tworzenia wykresów w Excelu
- Utwórz wykres liniowy w programie Excel przy użyciu C++
- Tworzenie wykresu piramidowego w Excelu przy użyciu C++
- Utwórz wykres bąbelkowy w programie Excel przy użyciu C++
- Dodatkowe obsługiwane wykresy
- Uzyskaj bezpłatną licencję
C++ API do tworzenia wykresów w Excelu
Aspose.Cells for C++ to natywna biblioteka C++, która umożliwia tworzenie, odczytywanie i modyfikowanie plików programu Excel bez konieczności instalowania programu Microsoft Excel. API obsługuje również tworzenie wykresów w plikach Excel. Możesz zainstalować API poprzez NuGet lub pobrać bezpośrednio z sekcji Downloads.
PM> Install-Package Aspose.Cells.Cpp
Utwórz wykres liniowy w programie Excel przy użyciu C++
Aby utworzyć wykres liniowy, użyj wartości wyliczenia ChartTypeLine podczas dodawania wykresu. Poniżej przedstawiono kroki tworzenia wykresu liniowego w pliku programu Excel.
- Najpierw utwórz instancję klasy IWorkbook.
- Pobierz arkusz, do którego chcesz dodać wykres, używając metody IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Wstaw dane do wykresu.
- Dodaj wykres do arkusza za pomocą opcji IWorksheet->GetICarts()->Add (Aspose::Cells::Charts::ChartType type,Aspose::Cells::Systems::Int32 upperLeftRow, Aspose::Cells::Systems ::Int32 górnaLewaKolumna, Aspose::Komórki::Systemy::Int32 niższyRightRow, Aspose::Komórki::Systemy::Int32 niższaPrawaKolumna) metoda.
- Uzyskaj dostęp do wykresu z jego indeksem za pomocą metody IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Dodaj źródło danych dla wykresu za pomocą [ICart->GetNISeries()->Add (intrusiveptrAspose::Cells::Systems::String area, bool isVertical) 9 metoda.
- Na koniec zapisz plik programu Excel za pomocą opcji IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nazwa_pliku) metoda.
Poniżej przedstawiono przykładowy kod służący do tworzenia wykresu liniowego w programie Excel przy użyciu języka C++.
// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");
// Ścieżka wyjściowego pliku programu Excel
StringPtr outputChartTypeLine = outDir->StringAppend(new String("outputChartTypeLine.xlsx"));
// Utwórz nowy skoroszyt
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();
// Pobierz pierwszy arkusz roboczy, który jest tworzony domyślnie
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Dodawanie przykładowych wartości do komórek
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);
// Dodanie wykresu do arkusza
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Line, 5, 0, 20, 8);
// Dostęp do instancji nowo dodanego wykresu
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);
// Dodanie SeriesCollection (źródło danych wykresu) do wykresu w zakresie od komórki „A1” do „B3”
chart->GetNISeries()->Add(new String("A1:B3"), true);
// Zapisywanie pliku Excela
workbook->Save(outputChartTypeLine);
Tworzenie wykresu piramidowego w Excelu przy użyciu C++
Aby utworzyć wykres piramidalny, użyj wartości wyliczenia ChartTypePyramid, aby określić typ wykresu podczas dodawania wykresu. Poniżej przedstawiono kroki tworzenia wykresu piramidalnego w pliku programu Excel.
- Najpierw utwórz instancję klasy IWorkbook.
- Pobierz arkusz, do którego chcesz dodać wykres, używając metody IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Wstaw dane do wykresu.
- Dodaj wykres do arkusza za pomocą opcji IWorksheet->GetICarts()->Add (Aspose::Cells::Charts::ChartType type,Aspose::Cells::Systems::Int32 upperLeftRow, Aspose::Cells::Systems ::Int32 górnaLewaKolumna, Aspose::Komórki::Systemy::Int32 niższyRightRow, Aspose::Komórki::Systemy::Int32 niższaPrawaKolumna) metoda.
- Uzyskaj dostęp do wykresu z jego indeksem za pomocą metody IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Dodaj źródło danych dla wykresu za pomocą [ICart->GetNISeries()->Add (intrusiveptrAspose::Cells::Systems::String area, bool isVertical) 16 metoda.
- Na koniec zapisz plik programu Excel za pomocą opcji IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nazwa_pliku) metoda.
Poniżej znajduje się przykładowy kod służący do tworzenia wykresu piramidalnego w programie Excel przy użyciu języka C++.
// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");
// Ścieżka wyjściowego pliku programu Excel
StringPtr outputChartTypePyramid = outDir->StringAppend(new String("outputChartTypePyramid.xlsx"));
// Utwórz nowy skoroszyt
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();
// Pobierz pierwszy arkusz roboczy, który jest tworzony domyślnie
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Dodawanie przykładowych wartości do komórek
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);
// Dodanie wykresu do arkusza
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Pyramid, 5, 0, 20, 8);
// Dostęp do instancji nowo dodanego wykresu
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);
// Dodanie SeriesCollection (źródło danych wykresu) do wykresu w zakresie od komórki „A1” do „B3”
chart->GetNISeries()->Add(new String("A1:B3"), true);
// Zapisywanie pliku Excela
workbook->Save(outputChartTypePyramid);
Utwórz wykres bąbelkowy w programie Excel przy użyciu C++
Aby utworzyć wykres bąbelkowy należy przekazać wartość enum ChartTypeBubble do metody IWorksheet->GetICarts()->Add(). Poniżej przedstawiono kroki tworzenia wykresu bąbelkowego w pliku programu Excel.
- Najpierw utwórz instancję klasy IWorkbook.
- Pobierz arkusz, do którego chcesz dodać wykres, używając metody IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Wstaw dane do wykresu.
- Dodaj wykres do arkusza za pomocą opcji IWorksheet->GetICarts()->Add (Aspose::Cells::Charts::ChartType type,Aspose::Cells::Systems::Int32 upperLeftRow, Aspose::Cells::Systems ::Int32 górnaLewaKolumna, Aspose::Komórki::Systemy::Int32 niższyRightRow, Aspose::Komórki::Systemy::Int32 niższaPrawaKolumna) metoda.
- Uzyskaj dostęp do wykresu z jego indeksem za pomocą metody IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Dodaj źródło danych, rozmiary bąbelków, wartości X i wartości Y dla wykresu za pomocą [ICart->GetNISeries()->Add (intrusiveptrAspose::Cells::Systems::String obszar, bool isVertical) 24, ICart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes (intruziveptrAspose::Cells::Systems::String wartość), ICart->GetNISeries()->GetObjectByIndex(0)->SetXValues (intruziveptrAspose::Cells::Systems::String wartość), ICart->GetNISeries()->GetObjectByIndex(0)->SetValues (intruziveptrAspose::Cells::Systems::String wartość) odpowiednio metod.
- Na koniec zapisz plik programu Excel za pomocą opcji IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nazwa_pliku) metoda.
Poniżej znajduje się przykładowy kod służący do tworzenia wykresu bąbelkowego w programie Excel przy użyciu języka C++.
// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");
// Ścieżka wyjściowego pliku programu Excel
StringPtr outputChartTypeBubble = outDir->StringAppend(new String("outputChartTypeBubble.xlsx"));
// Utwórz nowy skoroszyt
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();
// Pobierz pierwszy arkusz roboczy, który jest tworzony domyślnie
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Uzupełnij dane dla serii wykresu
// Wartości Y
worksheet->GetICells()->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("Wartości Y"));
worksheet->GetICells()->GetObjectByIndex(0, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(0, 2)->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(0, 3)->PutValue(6);
// Rozmiar bąbelków
worksheet->GetICells()->GetObjectByIndex(1, 0)->PutValue((StringPtr)new String("Rozmiar bąbelków"));
worksheet->GetICells()->GetObjectByIndex(1, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(1, 2)->PutValue(3);
worksheet->GetICells()->GetObjectByIndex(1, 3)->PutValue(1);
// Wartości X
worksheet->GetICells()->GetObjectByIndex(2, 0)->PutValue((StringPtr)new String("Wartości X"));
worksheet->GetICells()->GetObjectByIndex(2, 1)->PutValue(1);
worksheet->GetICells()->GetObjectByIndex(2, 2)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(2, 3)->PutValue(3);
// Ustaw szerokość pierwszej kolumny
worksheet->GetICells()->SetColumnWidth(0, 12);
// Dodanie wykresu do arkusza
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Bubble, 5, 0, 20, 8);
// Dostęp do instancji nowo dodanego wykresu
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);
// Dodanie SeriesCollection (źródła danych wykresu) do wykresu w zakresie od B1 do D1
chart->GetNISeries()->Add(new String("B1:D1"), true);
// Ustaw rozmiary bąbelków
chart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes(new String("B2:D2"));
// Ustaw wartości osi X
chart->GetNISeries()->GetObjectByIndex(0)->SetXValues(new String("B3:D3"));
// Ustaw wartości osi Y
chart->GetNISeries()->GetObjectByIndex(0)->SetValues(new String("B1:D1"));
// Zapisywanie pliku Excela
workbook->Save(outputChartTypeBubble);
Dodatkowe obsługiwane wykresy
Poza wykresami pokazanymi powyżej, Aspose.Cells for C++ obsługuje wiele dodatkowych typów wykresów. Możesz wyświetlić pełną listę obsługiwanych wykresów, przeglądając wartości wyliczeniowe ChartType.
Uzyskaj bezpłatną licencję
Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.
Wniosek
W tym artykule nauczyłeś się tworzyć wykresy w arkuszach kalkulacyjnych programu Excel przy użyciu języka C++. W szczególności widziałeś, jak tworzyć wykresy liniowe, ostrosłupowe i bąbelkowe za pomocą Aspose.Cells for C++ API. Ponadto zauważyłeś, że interfejs API obsługuje wiele innych wykresów, które możesz utworzyć w plikach Excel. Oprócz wykresów interfejs API zapewnia wiele dodatkowych funkcji do pracy z plikami Excel. Możesz szczegółowo zapoznać się z interfejsem API, odwiedzając oficjalną dokumentację. W przypadku jakichkolwiek pytań prosimy o kontakt na naszym bezpłatnym forum pomocy technicznej.