將 Excel 文件轉換為圖像可能有很多原因。例如,您可以將圖像添加到網頁、PDF、Word 文檔、PowerPoint 演示文稿等。在本文中,您將學習如何使用 C++ 將 Excel 文件轉換為圖像。
C++ Excel 到圖像轉換器 API
Aspose.Cells for C++ 是一個本地 C++ 庫,使您能夠創建、操作和轉換電子表格,而無需 Microsoft Excel 或 Office Automation。此外,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();
// 將每一頁一張一張地渲染為 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 文檔。