Cách chuyển đổi bảng tính thành hình ảnh trong C#

Cách chuyển đổi bảng tính thành hình ảnh trong C#

Xuất một bảng tính Excel đơn lẻ sang định dạng hình ảnh (ví dụ: PNG, JPEG) rất hữu ích khi tạo bản xem trước, xuất biểu đồ hoặc chia sẻ các biểu diễn hình ảnh chỉ đọc của nội dung bảng tính. Hướng dẫn này sẽ chỉ cho bạn cách chuyển đổi một bảng tính từ một tệp Excel sang hình ảnh bằng Aspose.Cells for .NET.

Trường hợp sử dụng

  • Tạo bản xem trước của một bảng tính cụ thể
  • Xuất báo cáo định dạng cho email hoặc tài liệu
  • Nhúng một bảng vào trang web hoặc PDF

Hướng dẫn từng bước

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

dotnet add package Aspose.Cells

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

Workbook workbook = new Workbook("SalesData.xlsx");
Worksheet sheet = workbook.Worksheets["Q1 Report"]; // Truy cập bảng tính cụ thể

Bước 3: Định nghĩa tùy chọn kết xuất hình ảnh

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

Bước 4: Tạo đối tượng SheetRender

SheetRender renderer = new SheetRender(sheet, options);

Bước 5: Kết xuất từng trang thành hình ảnh

for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
{
    string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
    renderer.ToImage(pageIndex, imageName);
}

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

Mã này tự động lưu một hình ảnh cho mỗi trang có thể in trong bảng tính.

Bước 7: Tùy chọn nâng cao

Bạn có thể áp dụng các thiết lập bố cục bổ sung:

// Hiện lưới trong hình ảnh đầu ra
options.ShowGridLines = true;

// Đặt tất cả nội dung trên một trang
options.AllColumnsInOnePagePerSheet = true;

Mã ví dụ hoàn chỉnh

using System;
using Aspose.Cells;

class Program
{
    static void Main()
    {
        // Tải tệp Excel
        Workbook workbook = new Workbook("SalesData.xlsx");

        // Truy cập một bảng tính cụ thể
        Worksheet sheet = workbook.Worksheets["Q1 Report"];

        // Định nghĩa tùy chọn kết xuất hình ảnh
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            OnePagePerSheet = true,
            HorizontalResolution = 200,
            VerticalResolution = 200,
            PrintingPageType = PrintingPageType.Default
        };

        // Bật lưới nếu cần
        options.ShowGridLines = true;

        // Kết xuất bảng tính thành hình ảnh
        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($"Đã lưu: {imageName}");
        }

        Console.WriteLine("Bảng tính đã được kết xuất thành hình ảnh thành công.");
    }
}

Các tình huống phổ biến & Khắc phục sự cố

Vấn đềGiải pháp
Nội dung bị cắtSử dụng AllColumnsInOnePagePerSheet = true
Đầu ra chất lượng thấpTăng độ phân giải hình ảnh
Thiếu lướiĐặt ShowGridLines = true
 Tiếng Việt