Cách Chuyển Đổi Dải Ô Thành Hình Ảnh Trong C#

Cách Chuyển Đổi Dải Ô Thành Hình Ảnh Trong C#

Cần trích xuất một phần của bảng tính một cách trực quan? Xuất một phạm vi ô thành hình ảnh rất hữu ích để tạo ra hình thu nhỏ, bản xem trước hoặc báo cáo một phần. Hướng dẫn này cho thấy cách chuyển đổi một phạm vi ô đã xác định trong Excel thành hình ảnh chất lượng cao bằng Aspose.Cells for .NET.

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

  • Xuất bảng giá hoặc danh mục sản phẩm
  • Chia sẻ một phần của bảng tính mà không tiết lộ toàn bộ tệp
  • Nắm bắt các phạm vi động cho bảng điều khiển hoặc widget

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

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

dotnet add package Aspose.Cells

Bước 2: Tải Workbook và Worksheet

Workbook workbook = new Workbook("DataSet.xlsx");
Worksheet worksheet = workbook.Worksheets[0];

Bước 3: Định nghĩa Phạm vi để Xuất

// Chỉ định một phạm vi như A1:D10
Range range = worksheet.Cells.CreateRange("A1", "D10");

Bước 4: Cấu hình Tùy chọn Kết xuất Hình ảnh

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

Bước 5: Tạo SheetRender và Kết xuất Phạm vi

// Bạn có thể sử dụng SheetRender với các giới hạn in nếu cần
SheetRender renderer = new SheetRender(worksheet, options);

Bước 6: Xuất Phạm vi thành Hình ảnh

Aspose.Cells không có lớp RangeRender trực tiếp, nhưng bạn vẫn có thể cắt một hình ảnh bằng cách tập trung kết xuất vào chỉ một phạm vi đã chọn:

// Đặt khu vực in thủ công cho bảng tính
worksheet.PageSetup.PrintArea = "A1:D10";

// Tạo lại SheetRender với cài đặt in đã áp dụng
renderer = new SheetRender(worksheet, options);

// Kết xuất và xuất
renderer.ToImage(0, "range_output.png");

Bước 7: Lưu và Xác minh Đầu ra

Bạn sẽ có một hình ảnh sạch sẽ đã cắt của phạm vi Excel đã chọn.


Mã Ví dụ Hoàn chỉnh

using System;
using Aspose.Cells;

class Program
{
    static void Main()
    {
        // Tải workbook
        Workbook workbook = new Workbook("DataSet.xlsx");

        // Truy cập vào worksheet đầu tiên
        Worksheet worksheet = workbook.Worksheets[0];

        // Định nghĩa phạm vi để xuất (A1 đến D10)
        Range range = worksheet.Cells.CreateRange("A1", "D10");

        // Đặt khu vực in cho phạm vi này
        worksheet.PageSetup.PrintArea = range.RefersTo;

        // Đặt tùy chọn xuất hình ảnh
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 200,
            VerticalResolution = 200,
            OnePagePerSheet = true
        };

        // Kết xuất chỉ phạm vi đã chỉ định
        SheetRender renderer = new SheetRender(worksheet, options);

        // Xuất ra hình ảnh
        renderer.ToImage(0, "range_output.png");

        Console.WriteLine("Phạm vi ô đã xuất thành công dưới dạng hình ảnh.");
    }
}

Mẹo Khắc phục Sự cố

Vấn đềGiải pháp
Hình ảnh bao gồm các hàng/cột bổ sungĐảm bảo khu vực in được xác định chặt chẽ
Phạm vi không được cắt chính xácĐặt OnePagePerSheet = true
Văn bản mờTăng cài đặt độ phân giải
 Tiếng Việt