Отображение диаграммы

Создание диаграмм

Aspose.Cells API-интерфейсы поддерживают создание различных диаграмм Excel, как описано в разделеСоздание и настройка диаграмм Excel. Чтобы продемонстрировать использование API-интерфейсов Aspose.Cells для отображения диаграмм в формате изображения и PDF, мы создадим диаграмму типа «Столбец» в соответствии со следующим фрагментом кода.

     // Create a new workbook

	intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

	// Get first worksheet which is created by default

	intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

	// Adding sample values to cells

	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);

	// Adding a chart to the worksheet

	int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Column, 5, 0, 20, 8);

	// Accessing the instance of the newly added chart

	intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

	// Adding SeriesCollection (chart data source) to the chart ranging from "A1" cell to "B3"

	chart->GetNISeries()->Add(new String("A1:B3"), true);

Отображение диаграмм

API-интерфейсы Aspose.Cells поддерживают преобразование диаграмм Excel в изображения и форматы PDF без каких-либо дополнительных инструментов или приложений. Чтобы обеспечить поддержку рендеринга, класс Chart предоставляет методы ToImage и ToPdf с множеством перегрузок, которые наилучшим образом соответствуют требованиям приложения.

Преобразование диаграмм в изображения

Метод Chart.toImage имеет множество перегрузок для поддержки как простого, так и расширенного рендеринга. Если требование приложения состоит в том, чтобы отображать диаграмму в размерах по умолчанию, мы предлагаем вам использовать метод Chart.toImage следующим образом.

 // Output directory path

StringPtr outDir = new String("..\\Data\\02_OutputDirectory\\");

// Path of output image file

StringPtr outputChartImage = outDir->StringAppend(new String("out1image.png"));

// Saving the chart to image file

chart->ToImage(outputChartImage, Aspose::Cells::System::Drawing::Imaging::ImageFormat::GetPng());

График рендеринга на PDF

Чтобы отобразить диаграмму в формате PDF, API-интерфейсы Aspose.Cells предоставили метод Chart.ToPdf с возможностью сохранения результирующего PDF на пути к диску или в потоке.

 // Path of output pdf file

StringPtr outputPdfFile = outDir->StringAppend(new String("out1pdf.pdf"));

// Saving chart to PDF

chart->ToPdf(outputPdfFile);

Поддерживаемые типы диаграмм для визуализации

Есть несколько типов диаграмм, которые в настоящее время не поддерживаются для визуализации. Такие типы диаграмм содержатН вПоддерживаемый столбец таблицы ниже.

Тип диаграммы Подтип диаграммы Поддерживается
Столбец Столбец Д
КолонкаС накоплением Д
Столбец100PercentStacked Д
Column3DClustered Д
Столбец3DStacked Д
Столбец3D100PercentStacked Д
Колонка3D Д
Бар Бар Д
БарСложенный Д
Bar100PercentStacked Д
Bar3DCкластеризованный Д
Bar3DStacked Д
Bar3D100PercentStacked Д
Линия Линия Д
LineStacked Д
Line100PercentStacked Д
LineWithDataMarkers Д
LineStackedWithDataMarkers Д
Line100PercentStackedWithDataMarkers Д
Линия3D Д
пирог пирог Д
Пирог3D Д
пирог пирог Д
ПирогВзорван Д
Pie3DВзорван Д
Пиг-Бар Д
Разброс Разброс Д
ScatterConnectedByCurvesWithDataMarker Д
ScatterConnectedByCurvesWithoutDataMarker Д
ScatterConnectedByLinesWithDataMarker Д
ScatterConnectedByLinesWithoutDataMarker Д
Площадь Площадь Д
ПлощадьСложенный Д
Area100PercentStacked Д
Площадь3D Д
Площадь3DС накоплением Д
Area3D100PercentStacked Д
Пончик Пончик Д
ПончикВзорван Д
Радар Радар Д
Радарвисдатамаркерс Д
Радар заполнен Д
Поверхность Поверхность3D Н
ПоверхностьКаркас3D Н
ПоверхностьКонтур Н
ПоверхностьКонтурКаркас Н
Пузырь Пузырь Д
Пузырь3D Н
Акции ЗапасВысокийНизкийЗакрыть Д
ЗапасОткрытыйВысокийНизкийЗакрыть Д
StockVolumeHighLowClose Д
StockVolumeOpenHighLowClose Д
Цилиндр Цилиндр Д
ЦилиндрСложенный Д
Цилиндр100PercentStacked Д
ЦилиндрическийБар Д
ЦилиндрическийБарС накоплением Д
ЦилиндрическийBar100PercentStacked Д
ЦилиндрическаяКолонка3D Д
Конус Конус Д
КонусСложенный Д
конус100процентов Д
КоническийБар Д
КоническийБарС накоплением Д
ConicalBar100PercentStacked Д
КоническаяКолонна3D Д
Пирамида Пирамида Д
ПирамидаСложенный Д
Пирамида100PercentStacked Д
ПирамидаБар Д
ПирамидаБарС накоплением Д
PyramidBar100PercentStacked Д
ПирамидаКолонка3D Д
КоробкаУискер КоробкаУискер Д
Воронка Воронка Д
ПаретоЛиния ПаретоЛиния Д
солнечные лучи солнечные лучи Д
Древовидная карта Древовидная карта Д
Водопад Водопад Д
Гистограмма Гистограмма Д
карта карта Н