GemBox.Spreadsheet is a .NET component that enables you to read, write, edit, convert, and print spreadsheet files from your .NET applications using one simple API.

Export Excel to ImageSource in WPF

Following example shows how to convert an Excel workbook page to ImageSource instance in C# and VB.NET, and attach it to WPF's Image control.

Screenshot
Export to ImageSource / Image Control Screenshot

See the full code below.

<Window x:Class="ConvertToImageSourceCs.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Export to ImageSource Sample" 
        SizeToContent="WidthAndHeight">
        
    <Border Margin="10" BorderBrush="Black" BorderThickness="1">
        <Image x:Name="ImageControl"/>
    </Border>       
    
</Window>
using System.Windows;
using System.Windows.Controls;
using GemBox.Spreadsheet;

namespace ConvertToImageSourceCs
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            SetImageSource(this.ImageControl);
        }

        private static void SetImageSource(Image image)
        {
            SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY");

            ExcelFile ef = new ExcelFile();

            var ws = ef.Worksheets.Add("Sheet1");

            ws.Cells[0, 0].Value = "English:";
            ws.Cells[0, 1].Value = "Hello";

            ws.Cells[1, 0].Value = "Russian:";
            ws.Cells[1, 1].Value = new string(new char[] { '\u0417', '\u0434', '\u0440', '\u0430', '\u0432', '\u0441', '\u0442', '\u0432', '\u0443', '\u0439', '\u0442', '\u0435' });

            ws.Cells[2, 0].Value = "Chinese:";
            ws.Cells[2, 1].Value = new string(new char[] { '\u4f60', '\u597d' });

            ws.Cells[4, 0].Value = "In order to see Russian and Chinese characters you need to have appropriate fonts on your PC.";
            ws.Cells.GetSubrangeAbsolute(4, 0, 4, 7).Merged = true;

            ws.HeadersFooters.DefaultPage.Header.CenterSection.Content = "Export To ImageSource / Image Control Sample";

            ws.PrintOptions.PrintGridlines = true;

            image.Source = ef.ConvertToImageSource(SaveOptions.ImageDefault);
        }
    }
}
Imports GemBox.Spreadsheet

Class MainWindow

    Public Sub New()
        InitializeComponent()

        SetImageSource(Me.ImageControl)
    End Sub

    Private Shared Sub SetImageSource(image As Image)
        SpreadsheetInfo.SetLicense("FREE-LIMITED-KEY")

        Dim ef As New ExcelFile()

        Dim ws = ef.Worksheets.Add("Sheet1")

        ws.Cells(0, 0).Value = "English:"
        ws.Cells(0, 1).Value = "Hello"

        ws.Cells(1, 0).Value = "Russian:"
        ws.Cells(1, 1).Value = New String(New Char() {ChrW(&H417), ChrW(&H434), ChrW(&H440), ChrW(&H430), ChrW(&H432), ChrW(&H441), ChrW(&H442), ChrW(&H432), ChrW(&H443), ChrW(&H439), ChrW(&H442), ChrW(&H435)})

        ws.Cells(2, 0).Value = "Chinese:"
        ws.Cells(2, 1).Value = New String(New Char() {ChrW(&H4F60), ChrW(&H597D)})

        ws.Cells(4, 0).Value = "In order to see Russian and Chinese characters you need to have appropriate fonts on your PC."
        ws.Cells.GetSubrangeAbsolute(4, 0, 4, 7).Merged = True

        ws.HeadersFooters.DefaultPage.Header.CenterSection.Content = "Export To ImageSource / Image Control Sample"

        ws.PrintOptions.PrintGridlines = True

        image.Source = ef.ConvertToImageSource(SaveOptions.ImageDefault)
    End Sub

End Class

Check next sample.