Jak przekonwertować wykres Excela na obraz w C#

Jak przekonwertować wykres Excela na obraz w C#

Wykresy wizualnie reprezentują dane w plikach programu Excel. Podczas udostępniania raportów, tworzenia tablic lub generowania dokumentacji, możesz potrzebować eksportowania tych wykresów do plików obrazowych.

Dlaczego przekształcamy grafiki w obrazy?

  • Włączenie danych wizualnych do stron internetowych lub prezentacji
  • Wiadomości e-mail bez przeglądarki programu Excel
  • Włączyć wykresy w plikach PDF lub drukowane układy

Przewodnik krok po kroku

Krok 1: Instalacja Aspose.Cells dla .NET

dotnet add package Aspose.Cells

Krok 2: Pobierz książkę roboczą

Workbook workbook = new Workbook("Dashboard.xlsx");
Worksheet sheet = workbook.Worksheets["Charts"];

Krok 3: Wybierz mapę

// Access the first chart on the worksheet
Chart chart = sheet.Charts[0];

Krok 4: Zestaw opcji eksportu

ImageOrPrintOptions options = new ImageOrPrintOptions
{
    ImageType = ImageType.Png,
    HorizontalResolution = 300,
    VerticalResolution = 300,
    Transparent = false
};

Krok 5: Konwersja wykresu do obrazu

chart.ToImage("chart_output.png", options);

Krok 6: Zapisz i sprawdź

To przechowuje grafikę jako plik PNG. Możesz również wybrać JPEG, BMP, TIFF itp.

Krok 7: Opcjonalne ulepszenia

Możesz dalej kontrolować rozmiar i jakość obrazu poprzez ustawienie:

// Control scaling
chart.ToImage("chart_highres.png", new ImageOrPrintOptions
{
    ImageType = ImageType.Jpeg,
    SmoothingMode = SmoothingMode.AntiAlias,
    ChartImageWidth = 1200,
    ChartImageHeight = 800
});

Kompletny kod przykładowy

using System;
using Aspose.Cells;
using Aspose.Cells.Rendering;
using System.Drawing.Drawing2D;

class Program
{
    static void Main()
    {
        // Load the workbook
        Workbook workbook = new Workbook("Dashboard.xlsx");

        // Access the worksheet and first chart
        Worksheet sheet = workbook.Worksheets["Charts"];
        Chart chart = sheet.Charts[0];

        // Set image export options
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 300,
            VerticalResolution = 300,
            SmoothingMode = SmoothingMode.AntiAlias,
            ChartImageWidth = 1200,
            ChartImageHeight = 800
        };

        // Export chart to image
        chart.ToImage("chart_output.png", options);

        Console.WriteLine("Chart successfully exported as image.");
    }
}

Wspólne scenariusze i ustawienia

kwestiaRozwiązanie
Karta pojawia się blurrywzrost ChartImageWidth i ChartImageHeight
Zdjęcie brakuje jasnościUżywanie SmoothingMode = AntiAlias
Karta jest wypełnionaSprawdź marginesy lub ustawienia skalowania
 Polski