Table of Contents
Install with NuGet
PM> Install-Package Spire.XLS
Related Links
Excel charts are excellent tools for presenting data clearly and effectively. However, when you need to use them outside of Excel — such as in presentations, reports, or websites — it becomes necessary to save Excel charts as images. Exporting a chart to formats like JPG, PNG, or BMP makes it easier to share, reuse, and embed across various platforms. Whether you're preparing business reports, publishing data visualizations online, or building slide decks, converting Excel charts into image files ensures better compatibility and presentation control.

In this guide, you’ll learn three effective ways to convert Excel charts to image formats like JPG or PNG:
- Save a Chart in Excel as an Image (Manual Method)
- Convert Excel Chart to Image in C# with Spire.XLS
- Save Excel Chart as Image via VBA Macro
- Comparison: Manual vs C# vs VBA Methods
- Frequently Asked Questions
Whether you're looking to do a quick one-off export or batch-process reports with code, this article will help you pick the best approach.
Save a Chart in Excel as an Image (Manual Method)
The simplest method to save chart in Excel as image is to do it manually:
-
Open the Excel file in Microsoft Excel and select the chart in your Excel worksheet.
-
Right-click and choose "Save as Picture...".

- Choose the file format (PNG, JPG, BMP) and save location.

Exported Chart Image:

This method is perfect for quickly turning a chart into a picture for emails or documents. It works in all modern Excel versions and supports various output formats — making it ideal when you want to save an Excel graph as an image without writing any code.
You may also like: Convert Excel Worksheets to Images Online
Convert Excel Chart to Image in C# with Spire.XLS
If you need to automate the export of Excel charts to images, especially in enterprise or reporting systems, using C# with Spire.XLS for .NET is the most scalable solution.
Install Spire.XLS for .NET
Install via NuGet:
PM> Install-Package Spire.XLS
Or use Free Spire.XLS for .NET for smaller tasks:
PM> Install-Package FreeSpire.XLS
C# Sample Code: Save Excel Chart to JPG
using Spire.Xls;
using System.Drawing;
Workbook workbook = new Workbook();
workbook.LoadFromFile("Sample.xlsx");
foreach (Worksheet sheet in workbook.Worksheets)
{
foreach (Chart chart in sheet.Charts)
{
Bitmap chartImage = chart.SaveToImage();
chartImage.Save($"output/{sheet.Name} - {chart.ChartTitle}.jpg");
}
}
workbook.Dispose();
Result:

This method supports JPG, PNG, BMP, and more. You can control the output by simply changing the file extension in the Save() method — Bitmap will automatically infer the image format based on it.
Save Excel Chart as Image via VBA Macro
If you're working within Excel and want a semi-automated approach, you can use VBA to export charts as images.
How to Insert VBA Code into Excel
- Press
Alt + F11to open the Visual Basic for Applications editor. - In the left panel, right-click on VBAProject (YourWorkbookName.xlsm) and choose Insert > Module.

- Paste the macro code below into the module.

- Save the file as Excel Macro-Enabled Workbook (.xlsm).

- Press
F5in the the Visual Basic for Applications editor to run, or link it to a button using Excel’s Form Controls.

VBA Macro Code Example
Sub SaveChartAsImage()
Dim chartObj As ChartObject
Dim folderPath As String
Dim savePath As String
folderPath = ThisWorkbook.Path & "\Charts"
If Dir(folderPath, vbDirectory) = "" Then MkDir folderPath
savePath = folderPath & "\MyChart.jpg"
Set chartObj = ActiveSheet.ChartObjects(1)
chartObj.Chart.Export Filename:=savePath, FilterName:="JPG"
End Sub
Exported Chart Image:

This macro is ideal for users who frequently work in Excel and need to export charts with minimal effort.
Comparison: Manual vs C# vs VBA Methods
| Method | Best For | Format Support | Automation Level |
| Manual | Quick one-time exports | PNG, JPG, BMP | ❌ None |
| C# + Spire.XLS | Batch, reporting, enterprise use | JPG, PNG, BMP, etc | ✅ Full |
| VBA Macro | Repetitive tasks in Excel UI | JPG, PNG | ⚠️ Limited |
Which Should You Choose?
- Use manual saving for occasional image needs.
- Use VBA if you work heavily inside Excel and prefer macro buttons.
- Use C# and Spire.XLS if you want full control, automation, and high-quality output.
Conclusion
Saving Excel charts as images is a common need across business, reporting, and data visualization scenarios. This article introduced:
- How to save Excel chart as image manually
- How to save Excel chart as image in C# using Spire.XLS
- How to use Excel VBA to export chart as image
With these methods, you can choose the approach that best fits your workflow and technical skillset.
FAQs
How do I save a chart in Excel as an image manually?
Right-click on the chart, select "Save as Picture...", and choose an image format like PNG or JPG.
How do I save Excel chart as image using code?
Use Spire.XLS with C# and call chart.SaveToImage() to export to image formats like JPG or PNG.
Check out the Spire.XLS for .NET tutorial to learn more about C# techniques for working with Excel charts.
Can I automate saving charts from Excel?
Yes. Use either C# for full automation or VBA macros within Excel for semi-automated workflows.
Does Bitmap in C# support JPG and PNG?
Yes. The Bitmap.Save() method detects the format based on the file extension, supporting formats like JPG, PNG, BMP, and more.