如何在C#中将Excel转换为缩略图图像

如何在C#中将Excel转换为缩略图图像

在使用文档预览功能或内容图书馆工作时,小图像提供快速的视觉参考,而无需上传整个文件。

為什麼要使用Tumbnails?

  • 创建文档画廊的预览卡
  • 构建视觉布局的扩展表报告
  • 添加轻重视图到搜索或文件管理工具

步骤指南

步骤1:安装 Aspose.Cells

dotnet add package Aspose.Cells

步骤2:下载工作簿

Workbook workbook = new Workbook("FinanceReport.xlsx");
Worksheet sheet = workbook.Worksheets[0];

步骤3:设置Tumbnail Rendering 选项

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

步骤4:将第一张工作表转换为图像

SheetRender renderer = new SheetRender(sheet, options);
renderer.ToImage(0, "preview_temp.png");

步骤5:将图像转换为图像尺寸(可选)

您可以使用图形图书馆(例如,System.Drawing)重新编辑图像:

using System.Drawing;

Bitmap original = new Bitmap("preview_temp.png");
Bitmap thumbnail = new Bitmap(original, new Size(160, 120));
thumbnail.Save("thumbnail.png");

步骤6:使用图标图像

现在你有一个轻量级小板适合预览。

完整的例子代码

using System;
using System.Drawing;
using Aspose.Cells;
using Aspose.Cells.Rendering;

class Program
{
    static void Main()
    {
        // Load Excel file
        Workbook workbook = new Workbook("FinanceReport.xlsx");
        Worksheet sheet = workbook.Worksheets[0];

        // Configure low-resolution options
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 96,
            VerticalResolution = 96,
            OnePagePerSheet = true
        };

        // Render full sheet as a temporary image
        SheetRender renderer = new SheetRender(sheet, options);
        renderer.ToImage(0, "preview_temp.png");

        // Resize to thumbnail
        using (Bitmap original = new Bitmap("preview_temp.png"))
        {
            Bitmap thumbnail = new Bitmap(original, new Size(160, 120));
            thumbnail.Save("thumbnail.png");
        }

        Console.WriteLine("Thumbnail image created from Excel worksheet.");
    }
}

最佳实践

推荐目的
使用 OnePagePerSheet = true防止多页在图像中分裂
低分辨率优化为更快的微型发型
拍摄后重复图像更多对规模和质量的控制
 中文