如何在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 | 防止多页在图像中分裂 |
低分辨率 | 优化为更快的微型发型 |
拍摄后重复图像 | 更多对规模和质量的控制 |