Cách chuyển đổi toàn bộ sổ làm việc Excel thành hình ảnh trong C#

Cách chuyển đổi toàn bộ sổ làm việc Excel thành hình ảnh trong C#

Việc chuyển đổi các tệp Excel thành hình ảnh là rất cần thiết khi nhúng bảng tính vào các trang web, tài liệu hoặc báo cáo. Bài viết này trình bày cách chuyển đổi toàn bộ sổ làm việc Excel thành các định dạng hình ảnh chất lượng cao bằng Aspose.Cells for .NET.

Tại sao chuyển đổi sổ làm việc thành hình ảnh?

  • Tạo bản xem trước cho các tệp Excel
  • Lưu trữ bảng tính dưới định dạng hình ảnh
  • Nhúng nội dung bảng tính vào báo cáo hoặc quy trình in
  • Hiển thị bảng tính trong các ứng dụng không hỗ trợ xem Excel bản địa

Triển khai từng bước

Bước 1: Cài đặt Aspose.Cells for .NET

Thêm Aspose.Cells vào dự án của bạn bằng cách sử dụng NuGet:

dotnet add package Aspose.Cells

Bước 2: Tải tệp Excel

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

Bước 3: Cấu hình tùy chọn hình ảnh

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

Các thiết lập này kiểm soát định dạng và độ phân giải đầu ra. Bạn cũng có thể cấu hình:

  • Transparent cho nền
  • OnlyArea để loại trừ lề
  • PrintingPageType cho nội dung cần bao gồm

Bước 4: Kết xuất sổ làm việc

WorkbookRender renderer = new WorkbookRender(workbook, options);

Bước 5: Chuyển đổi từng trang thành hình ảnh

Lặp qua các trang và xuất từng trang:

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

Điều này sẽ tạo ra một hình ảnh cho mỗi trang logic dựa trên bố cục in hiện tại.

Bước 6: Lưu các hình ảnh

Mã trên đã lưu từng tệp hình ảnh vào đĩa bằng tên đã định nghĩa.

// Đầu ra:
// workbook_page_1.png
// workbook_page_2.png
// ...

Bước 7: Cải tiến tùy chọn

Bạn có thể tinh chỉnh thêm việc kết xuất hình ảnh:

// Ví dụ: hiển thị đường lưới
options.ShowGridLines = true;

// Ví dụ: kết xuất toàn bộ nội dung trang trong một trang
options.AllColumnsInOnePagePerSheet = true;

Thực hành tốt nhất

  • Sử dụng độ phân giải cao (200+ dpi) cho hình ảnh chất lượng in.
  • Bật AllColumnsInOnePagePerSheet cho các trang rộng.
  • Kết hợp đầu ra thành PDF hoặc thư viện hình ảnh cho các buổi thuyết trình.

Vấn đề thường gặp & Giải pháp

Vấn đềGiải pháp
Hình ảnh đầu ra bị trốngĐảm bảo sổ làm việc đã được tải và chứa dữ liệu hiển thị
Hình ảnh bị cắtĐặt OnePagePerSheet = true hoặc điều chỉnh tỷ lệ trang
Đầu ra chất lượng thấpTăng HorizontalResolutionVerticalResolution
 Tiếng Việt