Excel в изображение

Может быть много причин для преобразования файлов Excel в изображения. Например, вы можете добавлять изображения на веб-страницы, PDF-файлы, документы Word, презентации PowerPoint и т. д. В этой статье вы узнаете, как преобразовать файлы Excel в изображения с помощью C++.

C++ Excel для преобразования изображений API

Aspose.Cells for C++ — это собственная библиотека C++, которая позволяет создавать электронные таблицы, управлять ими и преобразовывать их без использования Microsoft Excel или Office Automation. Кроме того, API предоставляет встроенную поддержку для преобразования электронных таблиц Excel в различные форматы. Вы можете установить Aspose.Cells for C++ API, используя пакет NuGet или загрузив API напрямую.

Преобразование Excel в изображение с помощью C++

Aspose.Cells for C++ позволяет конвертировать электронные таблицы Excel в различные популярные форматы изображений. Ниже приведены поддерживаемые форматы выходного изображения:

Вы можете использовать следующие шаги для преобразования файлов Excel в изображения.

  • Во-первых, загрузите файл Excel с классом IWorkbook.
  • Создайте экземпляр класса IImageOrPrintOptions.
  • Установите тип изображения, передав перечисление ImageFormat в метод IImageOrPrintOptions->SetImageFormat().
  • Установите другие параметры, такие как разрешение по горизонтали и вертикали, с помощью класса IImageOrPrintOptions.
  • Создайте экземпляр класса IWorksheet с рабочим листом, который вы хотите преобразовать.
  • Создайте объект класса ISheetRender, передав экземпляры IWorksheet и IImageOrPrintOptions в качестве параметров.
  • Получите количество страниц на листе с помощью метода ISheetRender->GetPageCount().
  • Наконец, прокрутите страницы и сохраните каждую страницу как изображение с помощью метода ISheetRender->ToImage().

В следующем примере фрагмента кода показано, как преобразовать файлы Excel в изображения с помощью C++.

// Полные примеры и файлы данных см. на странице https://github.com/aspose-cells/Aspose.Cells-for-C.

// Путь к исходному каталогу.
StringPtr srcDir = new String("..\\Data\\01_SourceDirectory\\");

// Выходной путь к каталогу.
StringPtr outDir = new String("..\\Data\\02_OutputDirectory\\");

// Путь к входному файлу Excel.
StringPtr sampleConvertingWorksheetToDifferentImageFormats = srcDir->StringAppend(new String("sampleConvertingWorksheetToDifferentImageFormats.xlsx"));

// Создайте пустую книгу.
intrusive_ptr<Aspose::Cells::IWorkbook> workbook = Factory::CreateIWorkbook(sampleConvertingWorksheetToDifferentImageFormats);

// Доступ к первому рабочему листу.
intrusive_ptr<Aspose::Cells::IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Создайте изображение или объект опций печати.
intrusive_ptr<Aspose::Cells::Rendering::IImageOrPrintOptions> imgOptions = Factory::CreateIImageOrPrintOptions();

// Укажите формат изображения.
imgOptions->SetImageFormat(Aspose::Cells::Systems::Drawing::Imaging::ImageFormat::GetPng());

// Укажите горизонтальное и вертикальное разрешение
imgOptions->SetHorizontalResolution(200);
imgOptions->SetVerticalResolution(200);

// Рендеринг листа в соответствии с указанным изображением или параметрами печати.
intrusive_ptr<Aspose::Cells::Rendering::ISheetRender> sr = Factory::CreateISheetRender(worksheet, imgOptions);

// Получить количество страниц.
Aspose::Cells::Systems::Int32 pageCount = sr->GetPageCount();

// Создайте объект построителя строк для конкатенации строк.
intrusive_ptr<Aspose::Cells::Systems::Text::StringBuilder> sb = new Aspose::Cells::Systems::Text::StringBuilder();

// Рендеринг каждой страницы в изображение png один за другим.
for (int i = 0; i < pageCount; i++)
{
	// Очистите построитель строк и создайте путь к выходному изображению с конкатенацией строк.
	sb->Clear();
	sb->Append(outDir);
	sb->Append((StringPtr)new String("outputConvertingWorksheetToImagePNG_"));
	sb->Append(i);
	sb->Append((StringPtr)new String(".png"));

	// Получите путь к выходному изображению.
	StringPtr outputPNG = sb->ToString();

	// Преобразование рабочего листа в изображение png.
	sr->ToImage(i, outputPNG);
}

Получить бесплатную лицензию

Вы можете попробовать API без ограничений по ознакомительной версии, запросив бесплатную временную лицензию.

Вывод

В заключение вы узнали, как преобразовать электронные таблицы Excel в изображения с помощью C++. Используя Aspose.Cells for C++ API, вы можете преобразовывать файлы Excel в различные популярные форматы изображений, включая PNG, TIFF, SVG, GIF, JPEG и т. д. Чтобы узнать больше об API, воспользуйтесь API документация.

Смотрите также