We're pleased to announce the release of Spire.XLS for C++ 15.5.0. This release adds a list of new features, such as supports setting page size during Excel to PDF conversion, embedding images into cells, grouping shapes, and enabling revision mode. Details are shown below.
Here is a list of changes made in this release
| Category | ID | Description |
| Adjustment | - | Upgrades SkiaSharp->3.116.1 |
| New feature | - | Supports setting page size when converting Excel to PDF.
intrusive_ptr workbook = new Workbook(); intrusive_ptr sheet = workbook->GetWorksheets()->Add(L""0""); intrusive_ptr a1 = sheet->GetRange(L""A1""); a1->SetValue(L""taatat""); sheet->GetPageSetup()->SetPaperSize(PaperSizeType::PaperA0); workbook->SaveToFile(outputFile.c_str(), ExcelVersion::Version2013); workbook->Dispose(); |
| New feature | - | Supports grouping Shapes.
intrusive_ptr book = new Workbook(); book->GetWorksheets()->Clear(); intrusive_ptr sheet = book->GetWorksheets()->Add(L""0""); intrusive_ptr shape1 = sheet->GetPrstGeomShapes()->AddPrstGeomShape(1, 3, 50, 50, PrstGeomShapeType::RoundRect); intrusive_ptr shape2 = sheet->GetPrstGeomShapes()->AddPrstGeomShape(5, 3, 50, 50, PrstGeomShapeType::Triangle); wcout << sheet->GetName() << endl; intrusive_ptr groupShapeCollection = sheet->GetGroupShapeCollection(); vector> shapes; shapes.push_back(shape1); shapes.push_back(shape2); groupShapeCollection->Group(shapes); book->SaveToFile(outputFile.c_str(), ExcelVersion::Version2013); book->Dispose(); |
| New feature | - | Supports retrieving all shapes in an Excel document.
intrusive_ptr book = new Workbook();
book->LoadFromFile(inputFile.c_str());
intrusive_ptr sheet = dynamic_pointer_cast(book->GetWorksheets()->Get(0));
std::vector> images;
for (int i = 0; i < sheet->GetShapes()->GetCount(); ++i)
{
intrusive_ptr shape = dynamic_pointer_cast(sheet->GetShapes()->Get(i));
intrusive_ptr image = shape->SaveToImage();
shape->SaveToImage((outputFile + L""Bug_out_"" + std::to_wstring(i) + L"".png"").c_str());
}
|
| New feature | - | Supports enabling revision mode.
intrusive_ptr workbook = new Workbook(); workbook->LoadFromFile(inputFile.c_str()); workbook->TrackedChanges(true); workbook->SaveToFile(outputFile.c_str(), ExcelVersion::Version2013); |
| New feature | - | Supports embedding images into cells.
intrusive_ptr workbook = new Workbook(); workbook->LoadFromFile(inputFile.c_str()); intrusive_ptr sheet = dynamic_pointer_cast(workbook->GetWorksheets()->Get(0)); intrusive_ptr range = dynamic_pointer_cast(sheet->GetRange(L""D1"")); intrusive_ptr fs = new Stream(inputFile_Img.c_str()); range->InsertOrUpdateCellImage(fs, true); workbook->SaveToFile(outputFile.c_str(), ExcelVersion::Version2013); workbook->Dispose(); |
| New feature | - | Supports grouping PivotTables.
intrusive_ptr workbook(new Workbook()); workbook->LoadFromFile(inputFile.c_str()); intrusive_ptr pivotSheet = workbook->GetWorksheets()->Get(0); intrusive_ptr pivot = dynamic_pointer_cast(pivotSheet->GetPivotTables()->Get(0)); intrusive_ptr dateBaseField = pivot->GetPivotFields()->Get(L""number""); dateBaseField->CreateGroup(3000, 3800, 1); pivot->CalculateData(); workbook->SaveToFile(outputFile.c_str()); |
Click the link below to download Spire.XLS for C++ 15.5.0: