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 を使用 | 画像のページ分割を防ぐ |
解像度を下げる | サムネイル生成を高速化 |
レンダリング後に画像をリサイズ | スケーリングと品質の制御を向上 |