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
kwestia | Rozwiązanie |
---|---|
Cut-off treści | Używanie AllColumnsInOnePagePerSheet = true |
Produkcja jest niskiej jakości | Zwiększenie rozdzielczości obrazu |
Zaginione linie | zestaw ShowGridLines = true |