Esporta intervallo di celle in un foglio di lavoro in immagine con C++
Possibili Scenari di Utilizzo
È possibile creare un’immagine di un foglio di lavoro utilizzando Aspose.Cells. Tuttavia, talvolta è necessario esportare solo un intervallo di celle in un foglio di lavoro in un’immagine. Questo articolo spiega come raggiungere questo obiettivo.
Esportare un intervallo di celle in un foglio di lavoro in un’immagine
Per prendere un’immagine di un intervallo, impostare l’area di stampa sull’intervallo desiderato e quindi impostare tutti i margini a 0. Imposta anche ImageOrPrintOptions.GetOnePagePerSheet() su true. Il seguente codice prende un’immagine dell’intervallo D8:G16. Di seguito è riportata un’istantanea del file di Excel di esempio usato nel codice. Puoi provare il codice con qualsiasi file di Excel.
Screenshot del file di Excel di esempio e la sua immagine esportata
Eseguendo il codice viene creata un’immagine dell’intervallo D8:G16 soltanto.
Codice di Esempio
#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();
}