Jak przekonwertować arkusz kalkulacyjny na obraz w C#
Jak przekonwertować arkusz kalkulacyjny na obraz w C#
Eksportowanie pojedynczego arkusza Excel do formatu graficznego (np. PNG, JPEG) jest przydatne przy generowaniu podglądów, eksportowaniu wykresów lub udostępnianiu wizualnych reprezentacji zawartości arkusza w trybie tylko do odczytu. Ten przewodnik pokazuje, jak przekonwertować jeden arkusz z książki roboczej Excel na obraz za pomocą Aspose.Cells dla .NET.
Przykłady użycia
- Generowanie podglądu konkretnego arkusza
- Eksportowanie sformatowanych raportów do e-maila lub dokumentacji
- Osadzanie pojedynczego arkusza w stronie internetowej lub PDF
Przewodnik krok po kroku
Krok 1: Zainstaluj Aspose.Cells dla .NET
dotnet add package Aspose.Cells
Krok 2: Załaduj plik Excel
Workbook workbook = new Workbook("SalesData.xlsx");
Worksheet sheet = workbook.Worksheets["Q1 Report"]; // Uzyskaj dostęp do konkretnego arkusza
Krok 3: Zdefiniuj opcje renderowania obrazu
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
OnePagePerSheet = true,
HorizontalResolution = 200,
VerticalResolution = 200,
PrintingPageType = PrintingPageType.Default
};
Krok 4: Utwórz obiekt SheetRender
SheetRender renderer = new SheetRender(sheet, options);
Krok 5: Renderuj 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: Zapisz obrazy
Ten kod automatycznie zapisuje jeden obraz na każdą stronę do wydruku w arkuszu.
Krok 7: Opcjonalne ulepszenia
Możesz zastosować dodatkowe ustawienia układu:
// Pokaż linie siatki w obrazie wyjściowym
options.ShowGridLines = true;
// Dopasuj całą zawartość na jednej stronie
options.AllColumnsInOnePagePerSheet = true;
Pełny kod przykładowy
using System;
using Aspose.Cells;
class Program
{
static void Main()
{
// Załaduj książkę roboczą Excel
Workbook workbook = new Workbook("SalesData.xlsx");
// Uzyskaj dostęp do konkretnego arkusza
Worksheet sheet = workbook.Worksheets["Q1 Report"];
// Zdefiniuj opcje renderowania obrazu
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
OnePagePerSheet = true,
HorizontalResolution = 200,
VerticalResolution = 200,
PrintingPageType = PrintingPageType.Default
};
// Włącz linie siatki, jeśli to konieczne
options.ShowGridLines = true;
// Renderuj arkusz do obrazu(ów)
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($"Zapisano: {imageName}");
}
Console.WriteLine("Arkusz pomyślnie renderowany do obrazu(ów).");
}
}
Częste scenariusze i rozwiązywanie problemów
Problem | Rozwiązanie |
---|---|
Ucięta zawartość | Użyj AllColumnsInOnePagePerSheet = true |
Niska jakość wyjścia | Zwiększ rozdzielczość obrazu |
Brak linii siatki | Ustaw ShowGridLines = true |