This article demonstrates how to convert shapes and SmartArt graphics in Excel to Image in C# using Spire.XLS for .NET.
The input Excel file:
C#
using Spire.Xls; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; namespace Convert_Shapes_and_SmartArt_to_Image { class Program { static void Main(string[] args) { //Create a Workbook object Workbook workbook = new Workbook(); //Load the Excel file workbook.LoadFromFile("Sample.xlsx"); //Get the first worksheet Worksheet sheet = workbook.Worksheets[0]; //Create a SaveShapeTypeOption object SaveShapeTypeOption shapelist = new SaveShapeTypeOption(); //Save shapes and SmartArt graphics in the worksheet to images List images = sheet.SaveShapesToImage(shapelist); //Save images to file int index = 0; foreach (Image img in images) { img.Save("Image/" + "toImage" + index + ".Png", ImageFormat.Png); index++; } } } }
VB.NET
Imports Spire.Xls Imports System.Collections.Generic Imports System.Drawing.Imaging Namespace Convert_Shapes_and_SmartArt_to_Image Friend Class Program Private Shared Sub Main(ByVal args As String()) 'Create a Workbook object Dim workbook As Workbook = New Workbook() 'Load the Excel file workbook.LoadFromFile("Sample.xlsx") 'Get the first worksheet Dim sheet As Worksheet = workbook.Worksheets(0) 'Create a SaveShapeTypeOption object Dim shapelist As SaveShapeTypeOption = New SaveShapeTypeOption() 'Save shapes and SmartArt graphics in the worksheet to images Dim images As List(Of Bitmap) = sheet.SaveShapesToImage(shapelist) 'Save images to file Dim index As Integer = 0 For Each img As Image In images img.Save("Image/" & "toImage" & index & ".Png", ImageFormat.Png) index += 1 Next End Sub End Class End Namespace
Converted images: