Файловете на Excel могат да съдържат цифрова, както и визуална информация като графики или диаграми. За да покажете част от информацията в графичен формат във вашето приложение, може да искате да конвертирате Excel в SVG в C++. Тази статия ще обясни как да промените Excel на SVG в C++ с подробности стъпка по стъпка и примерен код. Можете да заредите входния файл във формат XLSX или XLS.
Стъпки за конвертиране на Excel в SVG в C++
- Конфигурирайте приложението си, като добавите Aspose.Cells.Cpp с помощта на инструмента NuGet Package Manager
- Добавете препратка към пространството от имена 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 Chart в JPEG в C++.