Excelファイルを画像に変換する理由はたくさんあります。たとえば、Webページ、PDF、Word文書、PowerPointプレゼンテーションなどに画像を追加できます。この記事では、ExcelファイルをC++で画像に変換する方法を学習します。
C++ Excel to Image Converter API
Aspose.Cells for C++はネイティブC++ライブラリであり、MicrosoftExcelやOfficeAutomationを必要とせずにスプレッドシートを作成、操作、変換できます。さらに、APIは、Excelスプレッドシートをさまざまな形式に変換するための組み込みサポートも提供します。 NuGetパッケージまたはダウンロードAPIを直接使用して、Aspose.Cells for C++APIをインストールできます。
C++によるExcelから画像への変換
Aspose.Cells for C++を使用すると、Excelスプレッドシートをさまざまな一般的な画像形式に変換できます。サポートされている出力画像形式は次のとおりです。
次の手順を使用して、Excelファイルを画像に変換できます。
- まず、IWorkbookクラスでExcelファイルをロードします。
- IImageOrPrintOptionsクラスのインスタンスを作成します。
- ImageFormat列挙をIImageOrPrintOptions->SetImageFormat()メソッドに渡して、画像タイプを設定します。
- IImageOrPrintOptionsクラスを使用して、水平解像度や垂直解像度などの他のオプションを設定します。
- 変換するワークシートを使用して、IWorksheetクラスのインスタンスを作成します。
- IWorksheetインスタンスとIImageOrPrintOptionsインスタンスをパラメーターとして渡して、ISheetRenderクラスのオブジェクトを作成します。
- ISheetRender->GetPageCount()メソッドを使用して、ワークシートのページ数を取得します。
- 最後に、ページをループして、ISheetRender->ToImage()メソッドを使用して各ページを画像として保存します。
次のサンプルコードスニペットは、C++を使用してExcelファイルを画像に変換する方法を示しています。
// 完全な例とデータファイルについては、https://github.com/aspose-cells/Aspose.Cells-for-Cにアクセスしてください。
// ソースディレクトリのパス。
StringPtr srcDir = new String("..\\Data\\01_SourceDirectory\\");
// 出力ディレクトリパス。
StringPtr outDir = new String("..\\Data\\02_OutputDirectory\\");
// 入力Excelファイルのパス。
StringPtr sampleConvertingWorksheetToDifferentImageFormats = srcDir->StringAppend(new String("sampleConvertingWorksheetToDifferentImageFormats.xlsx"));
// 空のブックを作成します。
intrusive_ptr<Aspose::Cells::IWorkbook> workbook = Factory::CreateIWorkbook(sampleConvertingWorksheetToDifferentImageFormats);
// 最初のワークシートにアクセスします。
intrusive_ptr<Aspose::Cells::IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// 画像または印刷オプションオブジェクトを作成します。
intrusive_ptr<Aspose::Cells::Rendering::IImageOrPrintOptions> imgOptions = Factory::CreateIImageOrPrintOptions();
// 画像形式を指定します。
imgOptions->SetImageFormat(Aspose::Cells::Systems::Drawing::Imaging::ImageFormat::GetPng());
// 水平および垂直解像度を指定します
imgOptions->SetHorizontalResolution(200);
imgOptions->SetVerticalResolution(200);
// 指定された画像または印刷オプションに関してシートをレンダリングします。
intrusive_ptr<Aspose::Cells::Rendering::ISheetRender> sr = Factory::CreateISheetRender(worksheet, imgOptions);
// ページ数を取得します。
Aspose::Cells::Systems::Int32 pageCount = sr->GetPageCount();
// 文字列連結用の文字列ビルダーオブジェクトを作成します。
intrusive_ptr<Aspose::Cells::Systems::Text::StringBuilder> sb = new Aspose::Cells::Systems::Text::StringBuilder();
// 各ページを1つずつpng画像にレンダリングします。
for (int i = 0; i < pageCount; i++)
{
// 文字列ビルダーをクリアし、文字列を連結して出力画像パスを作成します。
sb->Clear();
sb->Append(outDir);
sb->Append((StringPtr)new String("outputConvertingWorksheetToImagePNG_"));
sb->Append(i);
sb->Append((StringPtr)new String(".png"));
// 出力画像パスを取得します。
StringPtr outputPNG = sb->ToString();
// ワークシートをpng画像に変換します。
sr->ToImage(i, outputPNG);
}
無料ライセンスを取得する
無料の一時ライセンスをリクエストすることで、評価の制限なしにAPIを試すことができます。
結論
結論として、C++を使用してExcelスプレッドシートを画像に変換する方法を学習しました。 Aspose.Cells for C++ APIを使用すると、ExcelファイルをPNG、TIFF、SVG、GIF、JPEGなどのさまざまな一般的な画像形式に変換できます。APIの詳細については、APIドキュメントを使用してください。