Как да конвертирате Excel в SVG в C++

Файловете на Excel могат да съдържат цифрова, както и визуална информация като графики или диаграми. За да покажете част от информацията в графичен формат във вашето приложение, може да искате да конвертирате Excel в SVG в C++. Тази статия ще обясни как да промените Excel на SVG в C++ с подробности стъпка по стъпка и примерен код. Можете да заредите входния файл във формат XLSX или XLS.

Стъпки за конвертиране на Excel в SVG в C++

  1. Конфигурирайте приложението си, като добавите Aspose.Cells.Cpp с помощта на инструмента NuGet Package Manager
  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 Chart в JPEG в C++.

 Български