How to Convert a Worksheet to Image in C#
How to Convert a Worksheet to Image in C#
Exporting a single Excel worksheet to an image format (e.g., PNG, JPEG) is useful when generating previews, exporting charts, or sharing read-only visual representations of spreadsheet content. This guide shows you how to convert one worksheet from an Excel workbook to an image using Aspose.Cells for .NET.
Use Cases
- Generate a preview of a specific worksheet
 - Export formatted reports for email or documentation
 - Embed a single sheet in a web page or PDF
 
Step-by-Step Guide
Step 1: Install Aspose.Cells for .NET
dotnet add package Aspose.CellsStep 2: Load the Excel File
Workbook workbook = new Workbook("SalesData.xlsx");
Worksheet sheet = workbook.Worksheets["Q1 Report"]; // Access specific worksheetStep 3: Define Image Rendering Options
ImageOrPrintOptions options = new ImageOrPrintOptions
{
    ImageType = ImageType.Png,
    OnePagePerSheet = true,
    HorizontalResolution = 200,
    VerticalResolution = 200,
    PrintingPageType = PrintingPageType.Default
};Step 4: Create SheetRender Object
SheetRender renderer = new SheetRender(sheet, options);Step 5: Render Each Page to an Image
for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
{
    string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
    renderer.ToImage(pageIndex, imageName);
}Step 6: Save the Images
This code automatically saves one image per printable page in the worksheet.
Step 7: Optional Enhancements
You can apply additional layout settings:
// Show gridlines in the output image
options.ShowGridLines = true;
// Fit all content on a single page
options.AllColumnsInOnePagePerSheet = true;Complete Example Code
using System;
using Aspose.Cells;
class Program
{
    static void Main()
    {
        // Load the Excel workbook
        Workbook workbook = new Workbook("SalesData.xlsx");
        // Access a specific worksheet
        Worksheet sheet = workbook.Worksheets["Q1 Report"];
        // Define image rendering options
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            OnePagePerSheet = true,
            HorizontalResolution = 200,
            VerticalResolution = 200,
            PrintingPageType = PrintingPageType.Default
        };
        // Enable gridlines if desired
        options.ShowGridLines = true;
        // Render the sheet to image(s)
        SheetRender renderer = new SheetRender(sheet, options);
        for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
        {
            string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
            renderer.ToImage(pageIndex, imageName);
            Console.WriteLine($"Saved: {imageName}");
        }
        Console.WriteLine("Worksheet successfully rendered to image(s).");
    }
}Common Scenarios & Troubleshooting
| Issue | Solution | 
|---|---|
| Cut-off content | Use AllColumnsInOnePagePerSheet = true | 
| Output is low quality | Increase image resolution | 
| Gridlines missing | Set ShowGridLines = true |