Grafy jsou vynikajícím nástrojem pro stručné zobrazení dat. Navíc reprezentují data vizuálně, což usnadňuje spotřebu velkého množství dat. Grafy mohou být užitečné v situacích, kdy potřebujete zobrazit data, jako je srovnání měsíčního rozpočtu nebo míra přijetí produktu. Ve světle toho vás tento článek naučí, jak vytvářet grafy v souborech aplikace Excel pomocí C++.
- C++ API pro vytváření grafů Excel
- Vytvořte spojnicový graf v Excelu pomocí C++
- Vytvoření pyramidového grafu v Excelu pomocí C++
- Vytvořte bublinový graf v Excelu pomocí C++
- Další podporované grafy
- Získejte bezplatnou licenci
C++ API pro vytváření grafů Excel
Aspose.Cells for C++ je nativní knihovna C++, která umožňuje vytvářet, číst a upravovat soubory aplikace Excel bez nutnosti instalace aplikace Microsoft Excel. Rozhraní API také podporuje vytváření grafů v souborech aplikace Excel. Rozhraní API můžete nainstalovat buď prostřednictvím NuGet, nebo si jej stáhnout přímo ze sekce Downloads.
PM> Install-Package Aspose.Cells.Cpp
Vytvořte spojnicový graf v Excelu pomocí C++
Chcete-li vytvořit spojnicový graf, použijte při přidávání grafu hodnotu výčtu ChartTypeLine. Následují kroky k vytvoření spojnicového grafu v souboru aplikace Excel.
- Nejprve vytvořte instanci třídy IWorkbook.
- Získejte list, kam chcete přidat graf, pomocí metody IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Vložte data pro graf.
- Přidejte graf do listu pomocí 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) metoda.
- Získejte přístup k grafu s jeho indexem pomocí metody IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Přidejte zdroj dat pro graf pomocí IChart->GetNISeries()->Add (intrusiveptrAspose::Cells::Systems::String oblast, bool isVertical) metoda.
- Nakonec uložte soubor Excel pomocí IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) metoda.
Následuje ukázkový kód pro vytvoření spojnicového grafu v Excelu pomocí C++.
// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");
// Cesta výstupního excelového souboru
StringPtr outputChartTypeLine = outDir->StringAppend(new String("outputChartTypeLine.xlsx"));
// Vytvořte nový sešit
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();
// Získejte první pracovní list, který je vytvořen ve výchozím nastavení
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Přidání vzorových hodnot do buněk
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);
// Přidání grafu do listu
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Line, 5, 0, 20, 8);
// Přístup k instanci nově přidaného grafu
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);
// Přidání SeriesCollection (zdroj dat grafu) do grafu v rozsahu od buňky "A1" po "B3"
chart->GetNISeries()->Add(new String("A1:B3"), true);
// Uložení souboru Excel
workbook->Save(outputChartTypeLine);
Vytvoření pyramidového grafu v Excelu pomocí C++
Pro vytvoření pyramidového grafu použijte hodnotu výčtu ChartTypePyramid k určení typu grafu při přidávání grafu. Níže jsou uvedeny kroky k vytvoření pyramidového grafu v souboru aplikace Excel.
- Nejprve vytvořte instanci třídy IWorkbook.
- Získejte list, kam chcete přidat graf, pomocí metody IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Vložte data pro graf.
- Přidejte graf do listu pomocí 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) metoda.
- Získejte přístup k grafu s jeho indexem pomocí metody IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Přidejte zdroj dat pro graf pomocí IChart->GetNISeries()->Add (intrusiveptrAspose::Cells::Systems::String oblast, bool isVertical) metoda.
- Nakonec uložte soubor Excel pomocí IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) metoda.
Následuje ukázkový kód pro vytvoření pyramidového grafu v Excelu pomocí C++.
// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");
// Cesta výstupního excelového souboru
StringPtr outputChartTypePyramid = outDir->StringAppend(new String("outputChartTypePyramid.xlsx"));
// Vytvořte nový sešit
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();
// Získejte první pracovní list, který je vytvořen ve výchozím nastavení
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Přidání vzorových hodnot do buněk
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);
// Přidání grafu do listu
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Pyramid, 5, 0, 20, 8);
// Přístup k instanci nově přidaného grafu
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);
// Přidání SeriesCollection (zdroj dat grafu) do grafu v rozsahu od buňky "A1" po "B3"
chart->GetNISeries()->Add(new String("A1:B3"), true);
// Uložení souboru Excel
workbook->Save(outputChartTypePyramid);
Vytvořte bublinový graf v Excelu pomocí C++
Chcete-li vytvořit bublinový graf, předejte hodnotu výčtu ChartTypeBubble do metody IWorksheet->GetICharts()->Add(). Níže jsou uvedeny kroky k vytvoření bublinového grafu v souboru aplikace Excel.
- Nejprve vytvořte instanci třídy IWorkbook.
- Získejte list, kam chcete přidat graf, pomocí metody IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Vložte data pro graf.
- Přidejte graf do listu pomocí 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) metoda.
- Získejte přístup k grafu s jeho indexem pomocí metody IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Přidejte zdroj dat, velikosti bublin, hodnoty X a Y pro graf pomocí IChart->GetNISeries()->Add (intrusiveptrAspose::Cells::Systems::String area, bool isVertical), IChart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes (intrusiveptrAspose::Cells::Systems::String hodnota), IChart->GetNISeries()->GetObjectByIndex(0)->SetXValues (intrusiveptrAspose::Cells::Systems::String hodnota), IChart->GetNISeries()->GetObjectByIndex(0)->SetValues (intrusiveptrAspose::Cells::Systems::String hodnota) metod resp.
- Nakonec uložte soubor Excel pomocí IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) metoda.
Následuje ukázkový kód pro vytvoření bublinového grafu v Excelu pomocí C++.
// Cesta výstupního adresáře.
StringPtr outDir = new String("OutputDirectory\\");
// Cesta výstupního excelového souboru
StringPtr outputChartTypeBubble = outDir->StringAppend(new String("outputChartTypeBubble.xlsx"));
// Vytvořte nový sešit
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();
// Získejte první pracovní list, který je vytvořen ve výchozím nastavení
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Vyplňte data pro řadu grafu
// Hodnoty Y
worksheet->GetICells()->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("Hodnoty Y"));
worksheet->GetICells()->GetObjectByIndex(0, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(0, 2)->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(0, 3)->PutValue(6);
// Velikost bubliny
worksheet->GetICells()->GetObjectByIndex(1, 0)->PutValue((StringPtr)new String("Velikost bubliny"));
worksheet->GetICells()->GetObjectByIndex(1, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(1, 2)->PutValue(3);
worksheet->GetICells()->GetObjectByIndex(1, 3)->PutValue(1);
// Hodnoty X
worksheet->GetICells()->GetObjectByIndex(2, 0)->PutValue((StringPtr)new String("Hodnoty X"));
worksheet->GetICells()->GetObjectByIndex(2, 1)->PutValue(1);
worksheet->GetICells()->GetObjectByIndex(2, 2)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(2, 3)->PutValue(3);
// Nastavte šířku prvního sloupce
worksheet->GetICells()->SetColumnWidth(0, 12);
// Přidání grafu do listu
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Bubble, 5, 0, 20, 8);
// Přístup k instanci nově přidaného grafu
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);
// Přidání SeriesCollection (zdroj dat grafu) do grafu v rozsahu od B1 do D1
chart->GetNISeries()->Add(new String("B1:D1"), true);
// Nastavte velikosti bublin
chart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes(new String("B2:D2"));
// Nastavte hodnoty osy X
chart->GetNISeries()->GetObjectByIndex(0)->SetXValues(new String("B3:D3"));
// Nastavte hodnoty osy Y
chart->GetNISeries()->GetObjectByIndex(0)->SetValues(new String("B1:D1"));
// Uložení souboru Excel
workbook->Save(outputChartTypeBubble);
Další podporované grafy
Kromě výše uvedených grafů podporuje Aspose.Cells for C++ mnoho dalších typů grafů. Úplný seznam podporovaných grafů můžete zobrazit zobrazením hodnot výčtu ChartType.
Získejte bezplatnou licenci
Rozhraní API můžete vyzkoušet bez omezení hodnocení tím, že požádáte o bezplatnou dočasnou licenci.
Závěr
V tomto článku jste se naučili vytvářet grafy v excelových tabulkách pomocí C++. Konkrétně jste viděli, jak vytvořit čárové, pyramidové a bublinové grafy pomocí Aspose.Cells for C++ API. Kromě toho jste viděli, že API podporuje velké množství dalších grafů, které můžete vytvořit ve svých souborech Excel. Kromě grafů poskytuje API mnoho dalších funkcí pro práci se soubory aplikace Excel. Rozhraní API můžete podrobně prozkoumat na oficiální dokumentaci. V případě jakýchkoli dotazů nás neváhejte kontaktovat na našem bezplatném fóru podpory.