Enregistrer des feuilles de calcul spécifiées en PDF avec C++
Par défaut, Aspose.Cells enregistre toutes les feuilles visibles d’un classeur en un fichier PDF. Avec l’option PdfSaveOptions.GetSheetSet(), vous pouvez enregistrer des feuilles spécifiées en PDF. Par exemple, vous pouvez enregistrer la feuille active en PDF, toutes les feuilles (visibles et cachées) en PDF, ou plusieurs feuilles personnalisées en PDF.
Enregistrer la feuille de calcul active en PDF
Si vous souhaitez uniquement exporter la feuille active en PDF, vous pouvez le faire en passant SheetSet.GetActive() à l’option PdfSaveOptions.GetSheetSet().
La feuille Sheet2
est la feuille active du fichier source sheetset-example.xlsx.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Open the template excel file
Workbook workbook(u"sheetset-example.xlsx");
// Set active sheet to output
PdfSaveOptions pdfSaveOptions;
pdfSaveOptions.SetSheetSet(SheetSet::GetActive());
// Save the pdf file with PdfSaveOptions
workbook.Save(u"output.pdf", pdfSaveOptions);
std::cout << "PDF file saved successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
Tout enregistrer en PDF
SheetSet.GetVisible() indique les feuilles visibles dans un classeur, et SheetSet.GetAll() indique toutes les feuilles, y compris celles visibles et invisibles dans un classeur. Si vous souhaitez exporter toutes les feuilles en PDF, vous pouvez simplement passer SheetSet.GetAll à l’option PdfSaveOptions.GetSheetSet().
Le fichier source sheetset-example.xlsx contient les quatre feuilles avec la feuille cachée Sheet3
.
#include <iostream>
#include "Aspose.Cells.h"
#include "Aspose.Cells/PdfSaveOptions.h"
#include "Aspose.Cells/SheetSet.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Open the template Excel file
Workbook workbook(u"sheetset-example.xlsx");
// Set all sheets to output
PdfSaveOptions pdfSaveOptions;
pdfSaveOptions.SetSheetSet(SheetSet::GetAll());
// Save the PDF file with PdfSaveOptions
workbook.Save(u"output.pdf", pdfSaveOptions);
std::cout << "PDF file generated successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
Enregistrer des feuilles de calcul spécifiées au format PDF
Si vous souhaitez exporter plusieurs feuilles désirées/personnalisées en PDF, vous pouvez le faire en passant plusieurs indices de feuilles à l’option PdfSaveOptions.GetSheetSet().
#include <iostream>
#include "Aspose.Cells.h"
#include "Aspose.Cells/PdfSaveOptions.h"
#include "Aspose.Cells/SheetSet.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Open the template Excel file
U16String inputFilePath(u"sheetset-example.xlsx");
Workbook workbook(inputFilePath);
// Set custom multiple sheets (Sheet1, Sheet3) to output
Vector<int32_t> sheetIndexes = {0, 2};
SheetSet sheetSet(sheetIndexes);
// Initialize PDF save options
PdfSaveOptions pdfSaveOptions;
pdfSaveOptions.SetSheetSet(sheetSet);
// Save the PDF file with PdfSaveOptions
U16String outputFilePath(u"output.pdf");
workbook.Save(outputFilePath, pdfSaveOptions);
std::cout << "Excel file saved as PDF successfully!" << std::endl;
Aspose::Cells::Cleanup();
return 0;
}
Réorganiser les feuilles de calcul en PDF
Si vous souhaitez réorganiser les feuilles (par exemple, en ordre inverse) en PDF sans modifier le fichier source, vous pouvez le faire en passant des indices de feuilles réordonnés à l’option PdfSaveOptions.GetSheetSet().
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Open the template excel file
Workbook workbook(u"sheetset-example.xlsx");
// Reorder sheets (Sheet1, Sheet2, Sheet3, Sheet4) to (Sheet4, Sheet3, Sheet2, Sheet1)
Vector<int32_t> sheetIndexes = { 3, 2, 1, 0 };
SheetSet sheetSet(sheetIndexes);
// Create PdfSaveOptions and assign the sheet set
PdfSaveOptions pdfSaveOptions;
pdfSaveOptions.SetSheetSet(sheetSet);
// Save the pdf file with PdfSaveOptions
workbook.Save(u"output.pdf", pdfSaveOptions);
std::cout << "PDF saved successfully!" << std::endl;
Aspose::Cells::Cleanup();
}