Jak przekonwertować cały skoroszyt Excela na obraz w C#
Jak przekonwertować cały skoroszyt Excela na obraz w C#
Renderowanie plików Excel jako obrazów jest istotne przy osadzaniu arkuszy kalkulacyjnych w stronach internetowych, dokumentacji lub raportach. Ten artykuł pokazuje, jak przekonwertować cały skoroszyt Excel na obrazy w wysokiej jakości, używając Aspose.Cells dla .NET.
Dlaczego konwertować skoroszyty na obrazy?
- Generowanie podglądów dla plików Excel
- Archiwizowanie arkuszy kalkulacyjnych w formatach obrazów
- Osadzanie treści arkuszy kalkulacyjnych w raportach lub procesach drukowania
- Wyświetlanie arkuszy kalkulacyjnych w aplikacjach, które nie obsługują natywnego wyświetlania Excela
Implementacja krok po kroku
Krok 1: Zainstaluj Aspose.Cells dla .NET
Dodaj Aspose.Cells do swojego projektu za pomocą NuGet:
dotnet add package Aspose.Cells
Krok 2: Załaduj plik Excel
Workbook workbook = new Workbook("Book1.xlsx");
Krok 3: Skonfiguruj opcje obrazu
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
OnePagePerSheet = true,
HorizontalResolution = 200,
VerticalResolution = 200
};
Te ustawienia kontrolują format wyjściowy i rozdzielczość. Możesz również skonfigurować:
Transparent
dla tłaOnlyArea
aby wykluczyć marginesyPrintingPageType
dla zawartości do uwzględnienia
Krok 4: Renderuj skoroszyt
WorkbookRender renderer = new WorkbookRender(workbook, options);
Krok 5: Przekonwertuj każdą stronę na obraz
Przejdź przez strony i eksportuj każdą z nich:
for (int i = 0; i < renderer.PageCount; i++)
{
string fileName = $"workbook_page_{i + 1}.png";
renderer.ToImage(i, fileName);
}
To wygeneruje jeden obraz na stronę logiczną na podstawie bieżącego układu druku.
Krok 6: Zapisz obrazy
Powyższy kod już zapisuje każdy plik obrazu na dysku, używając zdefiniowanej nazwy.
// Wyjście:
// workbook_page_1.png
// workbook_page_2.png
// ...
Krok 7: Opcjonalne ulepszenia
Możesz dalej dostosować renderowanie obrazów:
// Przykład: pokaż linie siatki
options.ShowGridLines = true;
// Przykład: renderuj całą zawartość arkusza na jednej stronie
options.AllColumnsInOnePagePerSheet = true;
Najlepsze praktyki
- Użyj wysokiej rozdzielczości (200+ dpi) dla obrazów w jakości druku.
- Włącz
AllColumnsInOnePagePerSheet
dla szerokich arkuszy. - Połącz wyjście w PDF lub galerii obrazów do prezentacji.
Częste problemy i rozwiązania
Problem | Rozwiązanie |
---|---|
Wyjściowy obraz jest pusty | Upewnij się, że skoroszyt jest załadowany i zawiera widoczne dane |
Obraz jest obcięty | Ustaw OnePagePerSheet = true lub dostosuj skalowanie stron |
Niska jakość wyjścia | Zwiększ HorizontalResolution i VerticalResolution |