Jak przekonwertować arkusz kalkulacyjny na obraz w C#

Jak przekonwertować arkusz kalkulacyjny na obraz w C#

Eksportowanie jednej arkuszy roboczej programu Excel do formatu obrazu (np. PNG, JPEG) jest przydatne przy tworzeniu wstępnych wyświetleń, eksportowaniu wykresów lub udostępnianiu czytanych tylko wizualnych reprezentacji treści arkuszy roboczych.

Przykłady użycia

  • Tworzenie przeglądu określonego arkusza roboczego
  • Eksport formatowanych raportów dla poczty e-mail lub dokumentacji
  • Włączyć pojedynczy arkusz na stronie internetowej lub PDF

Przewodnik krok po kroku

Krok 1: Instalacja Aspose.Cells dla .NET

dotnet add package Aspose.Cells

Krok 2: Pobierz plik Excel

Workbook workbook = new Workbook("SalesData.xlsx");
Worksheet sheet = workbook.Worksheets["Q1 Report"]; // Access specific worksheet

Krok 3: Określ opcje renderowania obrazu

ImageOrPrintOptions options = new ImageOrPrintOptions
{
    ImageType = ImageType.Png,
    OnePagePerSheet = true,
    HorizontalResolution = 200,
    VerticalResolution = 200,
    PrintingPageType = PrintingPageType.Default
};

Krok 4: Tworzenie SheetRender Object

SheetRender renderer = new SheetRender(sheet, options);

Krok 5: Wprowadź każdą stronę do obrazu

for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
{
    string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
    renderer.ToImage(pageIndex, imageName);
}

Krok 6: Zachowaj zdjęcia

Ten kod automatycznie zapisuje jeden obraz na drukowaną stronę w arkuszu roboczym.

Krok 7: Opcjonalne ulepszenia

Możesz zastosować dodatkowe ustawienia layout:

// Show gridlines in the output image
options.ShowGridLines = true;

// Fit all content on a single page
options.AllColumnsInOnePagePerSheet = true;

Kompletny kod przykładowy

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).");
    }
}

Wspólne sceny i rozwiązywanie problemów

kwestiaRozwiązanie
Cut-off treściUżywanie AllColumnsInOnePagePerSheet = true
Produkcja jest niskiej jakościZwiększenie rozdzielczości obrazu
Zaginione liniezestaw ShowGridLines = true
 Polski