Файли 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++.