Как преобразовать Excel в SVG на C++

Файлы Excel могут содержать как числовую, так и визуальную информацию, например графики или диаграммы. Чтобы отобразить некоторую информацию в графическом формате в вашем приложении, вы можете преобразовать Excel в SVG на C++. В этой статье объясняется, как изменить Excel на SVG в C++ с пошаговыми инструкциями и примером кода. Вы можете загрузить входной файл в формате XLSX или XLS.

Шаги по преобразованию Excel в SVG на C++

  1. Настройте приложение, добавив Aspose.Cells.Cpp с помощью диспетчера пакетов NuGet.
  2. Добавить ссылку на пространство имен Aspose::Cells в проект
  3. Используйте экземпляр класса Workbook для загрузки входного файла Excel.
  4. Установите формат и свойства изображения для выходного файла SVG.
  5. Сохраните выходное изображение SVG на диске, созданном из файла Excel.

Этот пошаговый подход объясняет простой процесс преобразования Excel в векторную графику на C++, где загружается входной файл Excel и устанавливаются различные свойства выходного изображения. Вы можете установить свойства разрешения, а также формат рендеринга изображения в соответствии с вашими требованиями. На последнем шаге запишите выходное SVG-изображение на диск для дальнейшей обработки или просмотра.

Код для преобразования Excel в SVG на C++

#pragma once
#include "Aspose.Cells.h"
class ConvertExcelToSVG
{
public: void ConvertExcelToSVGInCplusCplus()
{
// Set the Aspose.Cells license to create output SVG without watermark
intrusive_ptr<License> rowHeightLicense = new License();
rowHeightLicense->SetLicense(new String("Aspose.Cells.lic"));
// Load input workbook
intrusive_ptr<Aspose::Cells::IWorkbook> targetWorkbook = Factory::CreateIWorkbook(new String("ConvertExcelToSVG.xlsx"));
// Access target worksheet say third one
intrusive_ptr<Aspose::Cells::IWorksheet> thirdSheet = targetWorkbook->GetIWorksheets()->GetObjectByIndex(2);
// Create object to set image options
intrusive_ptr<Aspose::Cells::Rendering::IImageOrPrintOptions> OptionsForRenderingImage = Factory::CreateIImageOrPrintOptions();
// Specify SVG save format
OptionsForRenderingImage->SetSaveFormat(Aspose::Cells::SaveFormat::SaveFormat_SVG);
// Autofit Cells based on the data
OptionsForRenderingImage->SetCellAutoFit(true);
// Specify values for the horizontal and vertical resolution
OptionsForRenderingImage->SetHorizontalResolution(300);
OptionsForRenderingImage->SetVerticalResolution(300);
// Using the CreateISheetRender() function, render the sheet by providing the sheet reference and image options
intrusive_ptr<Aspose::Cells::Rendering::ISheetRender> sheetRender = Factory::CreateISheetRender(thirdSheet, OptionsForRenderingImage);
// Get page count
Aspose::Cells::Systems::Int32 totalPages = sheetRender->GetPageCount();
// Initialize string builder object for string concatenation
intrusive_ptr<Aspose::Cells::Systems::Text::StringBuilder> stringBuilder = new Aspose::Cells::Systems::Text::StringBuilder();
// Parse throught all the pages to convert them to SVG one by one
for (int counter = 0; counter < totalPages; counter++)
{
// Set the path for output image with string appending
stringBuilder->Clear();
stringBuilder->Append(counter);
stringBuilder->Append((StringPtr)new String("_Page.svg"));
// Convert Excel to SVG image
sheetRender->ToImage(counter, stringBuilder->ToString());
}
}
};

В соответствии с приведенным выше фрагментом кода вам необходимо использовать метод Factory::CreateIWorkbook для загрузки входного файла Excel. Затем установите несколько параметров для выходного изображения SVG с помощью класса IImageOrPrintOptions и перейдите к сохранению созданного файла, указав путь и имя файла. Вы можете изменить любое значение свойств в этом коде, чтобы оно соответствовало вашим критериям вывода.

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

 Русский