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

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

在处理文档预览功能或内容库时,缩略图提供了快速的视觉参考,而无需加载整个文件。本教程演示了如何使用 Aspose.Cells for .NET 从 Excel 文件创建缩略图。

为什么使用缩略图?

  • 为文档库创建预览卡片
  • 构建电子表格报告的可视化仪表板
  • 为搜索或文件管理工具添加轻量级视觉元素

分步指南

步骤 1:安装 Aspose.Cells

dotnet add package Aspose.Cells

步骤 2:加载工作簿

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

步骤 3:配置缩略图渲染选项

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()
    {
        // 加载 Excel 文件
        Workbook workbook = new Workbook("FinanceReport.xlsx");
        Worksheet sheet = workbook.Worksheets[0];

        // 配置低分辨率选项
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 96,
            VerticalResolution = 96,
            OnePagePerSheet = true
        };

        // 将整个工作表渲染为临时图像
        SheetRender renderer = new SheetRender(sheet, options);
        renderer.ToImage(0, "preview_temp.png");

        // 调整为缩略图
        using (Bitmap original = new Bitmap("preview_temp.png"))
        {
            Bitmap thumbnail = new Bitmap(original, new Size(160, 120));
            thumbnail.Save("thumbnail.png");
        }

        Console.WriteLine("从 Excel 工作表创建的缩略图图像。");
    }
}

最佳实践

推荐目的
使用 OnePagePerSheet = true防止图像中的多页拆分
较低的分辨率优化更快的缩略图生成
渲染后调整图像大小更好地控制缩放和质量
 中文