فایل های اکسل می توانند حاوی اطلاعات عددی و همچنین تصویری مانند نمودارها یا نمودارها باشند. برای نمایش برخی از اطلاعات در قالب گرافیکی در برنامه خود، ممکن است بخواهید اکسل را به SVG در C++ تبدیل کنید. این مقاله نحوه تغییر اکسل به SVG در C++ را با جزئیات گام به گام و نمونه کد توضیح می دهد. می توانید فایل ورودی را در قالب XLSX یا XLS بارگیری کنید.
مراحل تبدیل اکسل به SVG در C++
- برنامه خود را با افزودن Aspose.Cells.Cpp با استفاده از ابزار NuGet Package Manager پیکربندی کنید
- مرجع فضای نام Aspose::Cells را به پروژه اضافه کنید
- از نمونه کلاس Workbook برای بارگیری فایل اکسل ورودی استفاده کنید
- فرمت و ویژگی های تصویر را برای فایل SVG خروجی تنظیم کنید
- تصویر خروجی SVG را روی دیسک رندر شده از فایل اکسل ذخیره کنید
این رویکرد گام به گام فرآیند ساده تبدیل اکسل به گرافیک برداری در C++ را توضیح می دهد که در آن فایل اکسل ورودی بارگذاری می شود و ویژگی های مختلف تصویر خروجی تنظیم می شود. شما می توانید ویژگی های وضوح و همچنین فرمت رندر تصویر را بر اساس نیاز خود تنظیم کنید. در مرحله آخر، تصویر خروجی SVG را برای پردازش یا مشاهده بیشتر روی دیسک بنویسید.
کد برای تبدیل اکسل به 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 برای بارگیری فایل اکسل ورودی استفاده کنید. سپس با استفاده از کلاس IImageOrPrintOptions چندین اولویت را برای تصویر خروجی SVG تنظیم کنید و با تعیین مسیر و نام فایل، فایل تولید شده را ذخیره کنید. شما می توانید هر مقدار از ویژگی های این کد را تغییر دهید تا معیارهای خروجی خود را برآورده کند.
این آموزش کوتاه بر نحوه تغییر اکسل به گرافیک برداری با استفاده از C++ متمرکز شده است. در حالی که در صورت نیاز به تبدیل نمودار اکسل به تصویر JPEG به مقاله نحوه تبدیل نمودار اکسل به JPEG در ++C مراجعه کنید.