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ắt | Sử dụng AllColumnsInOnePagePerSheet = true |
Đầu ra chất lượng thấp | Tăng độ phân giải hình ảnh |
Thiếu lưới | Đặt ShowGridLines = true |