Exporter une plage de cellules d une feuille en image avec C++
Scénarios d’utilisation possibles
Vous pouvez faire une image d’une feuille de calcul en utilisant Aspose.Cells. Cependant, parfois, vous devez exporter seulement une plage de cellules dans une feuille de calcul vers une image. Cet article explique comment y parvenir.
Exporter une plage de cellules d’une feuille de calcul vers une image
Pour prendre une image d’une plage, définissez la zone d’impression sur la plage souhaitée, puis définissez toutes les marges à 0. Définissez également ImageOrPrintOptions.GetOnePagePerSheet() sur true. Le code suivant prend une image de la plage D8:G16. Ci-dessous se trouve une capture d’écran du fichier Excel d’exemple utilisé dans le code. Vous pouvez essayer le code avec n’importe quel fichier Excel.
Capture d’écran du fichier Excel d’exemple et de son image exportée
L’exécution du code crée une image de la plage D8:G16 seulement.
Code d’exemple
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Create workbook from source file
Workbook workbook(srcDir + u"sampleExportRangeOfCellsInWorksheetToImage.xlsx");
// Access the first worksheet
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Set the print area with the desired range
worksheet.GetPageSetup().SetPrintArea(u"D8:G16");
// Set all margins to 0
worksheet.GetPageSetup().SetLeftMargin(0);
worksheet.GetPageSetup().SetRightMargin(0);
worksheet.GetPageSetup().SetTopMargin(0);
worksheet.GetPageSetup().SetBottomMargin(0);
// Set OnePagePerSheet option as true
ImageOrPrintOptions options;
options.SetOnePagePerSheet(true);
options.SetImageType(Aspose::Cells::Drawing::ImageType::Jpeg);
options.SetHorizontalResolution(200);
options.SetVerticalResolution(200);
// Take the image of the worksheet
SheetRender sr(worksheet, options);
sr.ToImage(0, outDir + u"outputExportRangeOfCellsInWorksheetToImage.jpg");
std::cout << "Worksheet image exported successfully!" << std::endl;
Aspose::Cells::Cleanup();
}