Файлы Excel могут содержать как числовую, так и визуальную информацию, например графики или диаграммы. Чтобы отобразить некоторую информацию в графическом формате в вашем приложении, вы можете преобразовать Excel в SVG на C++. В этой статье объясняется, как изменить Excel на SVG в C++ с пошаговыми инструкциями и примером кода. Вы можете загрузить входной файл в формате XLSX или XLS.
Шаги по преобразованию Excel в SVG на C++
- Настройте приложение, добавив Aspose.Cells.Cpp с помощью диспетчера пакетов NuGet.
- Добавить ссылку на пространство имен Aspose::Cells в проект
- Используйте экземпляр класса Workbook для загрузки входного файла Excel.
- Установите формат и свойства изображения для выходного файла SVG.
- Сохраните выходное изображение 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 на С++.