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 |