Exportera område av celler i ett arbetsblad till bild med C++

Möjliga användningsscenario

Du kan skapa en bild av en arbetsbok med hjälp av Aspose.Cells. Ibland behöver du dock exportera endast ett område av celler i en arbetsbok till en bild. Den här artikeln förklarar hur du åstadkommer detta.

Exportera område av celler i en arbetsbok till bild

För att ta en bild av ett område, ange utskriftsområdet till det önskade området och ställ sedan in alla marginaler till 0. Ställ också in ImageOrPrintOptions.GetOnePagePerSheet() till true. Följande kod tar en bild av området D8:G16. Nedan finns en skärmbild av den exempelfil i Excel som används i koden. Du kan prova koden med vilken Excel-fil som helst.

Skärmbild av exempelfil i Excel och dess exporterade bild

todo:image_alt_text

Genom att köra koden skapas en bild av området D8:G16 endast.

todo:image_alt_text

Exempelkod

#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();
}