Преобразовать диаграмму Excel в изображение с помощью C++
Диаграммы выглядят привлекательно и позволяют легко видеть сравнения, модели и тенденции в данных. Например, вместо анализа столбцов чисел в листе, диаграмма показывает сразу, падают ли или растут продажи, или как фактические продажи сравниваются с прогнозируемыми. Людям часто нужно представлять статистическую и графическую информацию простым для понимания и удобным в поддержке способом. Изображение помогает.
Иногда диаграммы нужны в приложениях или на веб-страницах. Или они могут потребоваться для документа Word, PDF-файла, презентации PowerPoint или другого приложения. В каждом случае вы хотите отображать диаграмму как изображение, чтобы использовать его в другом месте.
Конвертация диаграмм в изображения
В приведенных здесь примерах преобразуются круговая диаграмма и столбчатая диаграмма в изображения.
Конвертация круговой диаграммы в файл изображения
Сначала создайте круговую диаграмму в Microsoft Excel, а затем конвертируйте ее в файл изображения с помощью Aspose.Cells. Код в этом примере создает изображение EMF на основе круговой диаграммы в шаблонном файле Microsoft Excel.
Результат: изображение круговой диаграммы |
---|
![]() |
- Создайте круговую диаграмму в Microsoft Excel:
- Откройте новую книгу в Microsoft Excel.
- Введите некоторые данные в лист.
- Создайте круговую диаграмму на основе данных.
- Сохраните файл.
Исходный файл. |
---|
![]() |
- Скачайте и установите Aspose.Cells:
- Скачать Aspose.Cells for C++.
- Установите его на вашем компьютере для разработки.
Все компоненты Aspose работают в режиме оценки при первой установке. Режим оценки не имеет временных ограничений и вставляет в выходные документы только водяной знак.
- Создайте проект:
- Запустите среду разработки для C++ (например, Visual Studio).
- Создайте новое консольное приложение.
- Добавьте ссылку на Aspose.Cells. Этот проект использует Aspose.Cells, поэтому добавьте ссылку на библиотеку Aspose.Cells.
- Напишите код, который находит и конвертирует диаграмму. Приведен ниже код, используемый компонентом для выполнения задачи. Используется очень немного строк кода.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
using namespace Aspose::Cells::Charts;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Open the existing excel file which contains the pie chart.
Workbook workbook(srcDir + u"PieChart.xlsx");
// Get the designer chart (first chart) in the first worksheet of the workbook.
Chart chart = workbook.GetWorksheets().Get(0).GetCharts().Get(0);
// Convert the chart to an image file.
chart.ToImage(srcDir + u"PieChart.out.emf", Aspose::Cells::Drawing::ImageType::Emf);
std::cout << "Chart converted to image successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
Конвертация столбчатой диаграммы в файл изображения
Сначала создайте столбцовую диаграмму в Microsoft Excel и преобразуйте ее в файл изображения, как указано выше. После выполнения этого кода создается JPEG-файл на основе столбчатой диаграммы из шаблона файла Excel.
Выходной файл: изображение столбчатой диаграммы. |
---|
![]() |
- Создайте столбчатую диаграмму в Microsoft Excel:
- Откройте новую книгу в Microsoft Excel.
- Введите некоторые данные в лист.
- Создайте столбчатую диаграмму на основе данных.
- Сохраните файл.
Входной файл. |
---|
![]() |
- Создайте проект с ссылками, как описано выше.
- Динамически преобразуйте диаграмму в изображение. Ниже приведен используемый компонентом код для выполнения этой задачи. Код аналогичен предыдущему:
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
using namespace Aspose::Cells::Charts;
using namespace Aspose::Cells::Drawing;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Open the existing excel file which contains the column chart.
U16String inputFilePath = srcDir + u"ColumnChart.xlsx";
Workbook workbook(inputFilePath);
// Get the designer chart (first chart) in the first worksheet of the workbook.
Worksheet worksheet = workbook.GetWorksheets().Get(0);
Chart chart = worksheet.GetCharts().Get(0);
// Convert the chart to an image file.
U16String outputImagePath = srcDir + u"ColumnChart.out.jpeg";
chart.ToImage(outputImagePath, ImageType::Jpeg);
std::cout << "Chart converted to image successfully!" << std::endl;
Aspose::Cells::Cleanup();
}