Jak przekonwertować cały skoroszyt Excela na obraz w C#

Jak przekonwertować cały skoroszyt Excela na obraz w C#

Renderowanie plików programu Excel jako obrazów jest niezbędne, gdy wstawiamy arkusze w stronach internetowych, dokumentacji lub sprawozdań.Ten artykuł pokazuje, jak przekonwertować całą księgę roboczą programu Excel w wysokiej jakości formaty obrazu za pomocą Aspose.Cells dla .NET.

Dlaczego przekształcamy książki w obrazy?

  • Tworzenie przeglądów dla plików Excel
  • Archiwum w formach obrazu
  • Włączenie treści tablicy w sprawozdania lub drukowanie przepływów roboczych
  • Wyświetlanie arkuszy w aplikacjach, które nie obsługują wyświetlania native Excel

Wdrażanie krok po kroku

Krok 1: Instalacja Aspose.Cells dla .NET

Dodaj Aspose.Cells do Twojego projektu za pomocą NuGet:

dotnet add package Aspose.Cells

Krok 2: Pobierz plik Excel

Workbook workbook = new Workbook("Book1.xlsx");

Krok 3: Konfiguracja opcji obrazu

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

Te ustawienia kontrolują format wyjścia i rozdzielczość. można również skonfigurować:

  • Transparent Dla tła
  • OnlyArea Wyłączenie marginesów
  • PrintingPageType Dla jakich treści należy uwzględnić

Krok 4: Wprowadź książkę roboczą

WorkbookRender renderer = new WorkbookRender(workbook, options);

Krok 5: Konwertuj każdą stronę na obraz

Przejdź przez strony i eksportuj każdy z nich:

for (int i = 0; i < renderer.PageCount; i++)
{
    string fileName = $"workbook_page_{i + 1}.png";
    renderer.ToImage(i, fileName);
}

To będzie tworzyć jeden obraz na stronę logiczną na podstawie bieżącego układu drukowania.

Krok 6: Zachowaj zdjęcia

Powyższy kod już przechowuje każdy plik obrazu na dyski za pomocą określonego nazwy.

// Output:
// workbook_page_1.png
// workbook_page_2.png
// ...

Krok 7: Opcjonalne ulepszenia

Możesz dodać darmowe renderowanie obrazu:

// Example: show gridlines
options.ShowGridLines = true;

// Example: render the entire sheet content in one page
options.AllColumnsInOnePagePerSheet = true;

Najlepsze praktyki

  • Użyj wysokiej rozdzielczości (200+ dpi) do jakości zdjęć drukowanych.
  • umożliwia AllColumnsInOnePagePerSheet na szerokie liście.
  • Połączyć wydanie do PDF lub galerii obrazów dla prezentacji.

Wspólne problemy i rozwiązania

kwestiaRozwiązanie
Zdjęcie wyjściowe jest białeUpewnij się, że podręcznik jest ładowany i zawiera widoczne dane
Zdjęcie zostało wyciętezestaw OnePagePerSheet = true lub dostosowywać skalowanie strony
niska jakość produkcjiwzrost HorizontalResolution i VerticalResolution
 Polski