Excel-filer kan innehålla såväl numerisk som visuell information som grafer eller diagram. För att visa viss information i grafiskt format i din applikation kanske du vill konvertera Excel till SVG i C++. Den här artikeln kommer att förklara hur man ändrar Excel till SVG i C++ med steg-för-steg-detaljer och exempelkod. Du kan ladda indatafilen i formatet XLSX eller XLS.
Steg för att konvertera Excel till SVG i C++
- Konfigurera din applikation genom att lägga till Aspose.Cells.Cpp med verktyget NuGet Package Manager
- Lägg till referens för namnområdet Aspose::Cells till projektet
- Använd klassinstansen Workbook för att ladda indatafilen i Excel
- Ställ in format- och bildegenskaper för utdata SVG-fil
- Spara den utgående SVG-bilden på disken som återges från Excel-filen
Detta steg-för-steg tillvägagångssätt förklarar den enkla processen att konvertera Excel till vektorgrafik i C++ där Excel-inmatningsfilen laddas och olika egenskaper för utdatabilden ställs in. Du kan ställa in upplösningsegenskaperna samt renderingsformatet för bilden enligt dina krav. I det sista steget skriver du den utgående SVG-bilden till disken för vidare bearbetning eller visning.
Kod för att konvertera Excel till SVG i 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()); | |
} | |
} | |
}; |
Enligt kodavsnittet ovan måste du använda Factory::CreateIWorkbook-metoden för att ladda indatafilen i Excel. Ställ sedan in flera inställningar för utmatning av SVG-bild genom att använda klassen IImageOrPrintOptions och fortsätt med att spara den genererade filen genom att ange sökväg och filnamn. Du kan ändra valfritt värde för egenskaperna i den här koden för att uppfylla dina utdatakriterier.
Denna korta handledning har fokuserat på hur man ändrar Excel till vektorgrafik med C++. Om du behöver konvertera Excel-diagram till JPEG-bild, se artikeln om hur man konverterar Excel-diagram till JPEG i C++.