Pliki programu Excel mogą zawierać informacje liczbowe i wizualne, takie jak wykresy lub diagramy. Aby wyświetlić niektóre informacje w formacie graficznym w swojej aplikacji, możesz przekonwertować Excel na SVG w C++. W tym artykule wyjaśniono, jak zmienić program Excel na format SVG w C++ ze szczegółami krok po kroku i przykładowym kodem. Możesz załadować plik wejściowy w formacie XLSX lub XLS.
Kroki, aby przekonwertować Excel na SVG w C++
- Skonfiguruj swoją aplikację, dodając Aspose.Cells.Cpp za pomocą narzędzia NuGet Package Manager
- Dodaj odniesienie do przestrzeni nazw Aspose::Cells do projektu
- Użyj instancji klasy Workbook, aby załadować wejściowy plik Excel
- Ustaw format i właściwości obrazu dla wyjściowego pliku SVG
- Zapisz wyjściowy obraz SVG na dysku wyrenderowanym z pliku Excel
To podejście krok po kroku wyjaśnia prosty proces konwertowania Excela na grafikę wektorową w C++, gdzie ładowany jest wejściowy plik Excela i ustawiane są różne właściwości obrazu wyjściowego. Możesz ustawić właściwości rozdzielczości, a także format renderowania obrazu zgodnie z własnymi wymaganiami. W ostatnim kroku zapisz wyjściowy obraz SVG na dysku w celu dalszego przetwarzania lub przeglądania.
Kod do konwersji Excela na SVG w 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()); | |
} | |
} | |
}; |
Zgodnie z powyższym fragmentem kodu musisz użyć metody Factory::CreateIWorkbook do załadowania wejściowego pliku Excel. Następnie ustaw kilka preferencji dla wyjściowego obrazu SVG za pomocą klasy IImageOrPrintOptions i przejdź do zapisania wygenerowanego pliku, określając ścieżkę i nazwę pliku. Możesz zmodyfikować dowolną wartość właściwości w tym kodzie, aby spełnić kryteria wyjściowe.
Ten krótki samouczek skupił się na tym, jak zmienić program Excel na grafikę wektorową za pomocą C++. Natomiast jeśli potrzebujesz przekonwertować wykres Excela na obraz JPEG, zapoznaj się z artykułem na jak przekonwertować wykres Excela na JPEG w C++.