Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Les sparklines sont des graphiques miniatures placés dans les cellules d’une feuille de calcul. Aspose.Cells vous permet d’extraire chaque sparkline sous forme d’image autonome (pour l’intégrer dans une autre cellule ou dans un rapport externe) et également d’exporter la feuille de calcul complète, riche en sparklines, vers HTML pour une distribution via navigateur. La propriété Cell.EmbeddedImage utilisée dans cet article est disponible dans Aspose.Cells 26.5 et versions ultérieures.
Les sparklines offrent un moyen compact de visualiser les tendances directement dans une feuille de calcul. Bien que les utilisateurs d’Excel les voient en place, de nombreux scénarios réels nécessitent qu’une sparkline quitte la cellule — par exemple, pour être intégrée dans une autre cellule en tant qu’image statique, jointe à un e-mail automatisé, ou rendue dans le cadre d’un rapport HTML publié sur le web. Aspose.Cells prend en charge ces deux opérations. La méthode Sparkline.ToImage restitue une sparkline individuelle sous forme de tableau d’octets Vector<uint8_t>, et les octets résultants peuvent être assignés à Cell.EmbeddedImage afin que l’image soit stockée dans une seule cellule du classeur. Par ailleurs, HtmlSaveOptions vous permet de convertir l’intégralité du classeur — sparklines incluses — en un fichier HTML autonome. Cet article vous guide pas à pas à travers ces deux flux de travail.
Dans ce flux de travail, vous allez construire une feuille de calcul contenant une petite plage de valeurs sources, attacher trois groupes de sparklines différents (Ligne, Colonne et Empilé/Win-Loss) à cette plage, rendre chaque groupe en PNG, et écrire ces octets PNG dans les cellules adjacentes en tant qu’images intégrées. Le résultat final est un unique fichier .xlsx qui contient à la fois les sparklines actives et leurs équivalents en images rendues.
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main() {
Aspose::Cells::Startup();
Workbook workbook;
Worksheet worksheet = workbook.GetWorksheets().Get(0);
worksheet.GetCells().Get(u"A1").PutValue(5);
worksheet.GetCells().Get(u"B1").PutValue(-3);
worksheet.GetCells().Get(u"C1").PutValue(8);
worksheet.GetCells().Get(u"D1").PutValue(-2);
worksheet.GetCells().Get(u"E1").PutValue(6);
CellArea lineArea;
lineArea.StartColumn = 5;
lineArea.EndColumn = 5;
lineArea.StartRow = 0;
lineArea.EndRow = 0;
int lineIdx = worksheet.GetSparklineGroups().Add(SparklineType::Line, U16String("A1:E1"), false, lineArea);
CellArea columnArea;
columnArea.StartColumn = 6;
columnArea.EndColumn = 6;
columnArea.StartRow = 0;
columnArea.EndRow = 0;
int columnIdx = worksheet.GetSparklineGroups().Add(SparklineType::Column, U16String("A1:E1"), false, columnArea);
CellArea stackedArea;
stackedArea.StartColumn = 7;
stackedArea.EndColumn = 7;
stackedArea.StartRow = 0;
stackedArea.EndRow = 0;
int stackedIdx = worksheet.GetSparklineGroups().Add(SparklineType::Stacked, U16String("A1:E1"), false, stackedArea);
ImageOrPrintOptions imageOptions;
imageOptions.SetImageType(ImageType::Png);
Sparkline lineSp = worksheet.GetSparklineGroups().Get(lineIdx).GetSparklines().Get(0);
Vector<uint8_t> lineImg = lineSp.ToImage(imageOptions);
worksheet.GetCells().Get(u"F2").SetEmbeddedImage(lineImg);
Sparkline columnSp = worksheet.GetSparklineGroups().Get(columnIdx).GetSparklines().Get(0);
Vector<uint8_t> columnImg = columnSp.ToImage(imageOptions);
worksheet.GetCells().Get(u"G2").SetEmbeddedImage(columnImg);
Sparkline stackedSp = worksheet.GetSparklineGroups().Get(stackedIdx).GetSparklines().Get(0);
Vector<uint8_t> stackedImg = stackedSp.ToImage(imageOptions);
worksheet.GetCells().Get(u"H2").SetEmbeddedImage(stackedImg);
workbook.Save(u"output_with_sparklines.xlsx");
Aspose::Cells::Cleanup();
return 0;
}
Le code ci-dessus produit un classeur où chaque représentation visuelle d’une sparkline est dupliquée sous deux formes : la sparkline native et active ancrée à la ligne 1, et une image PNG statique intégrée directement dans une cellule voisine à la ligne 2. Comme les images vivent dans le fichier lui-même, le classeur reste un artefact unique et autonome qui peut être envoyé par e-mail ou archivé sans rompre les références aux images intégrées. Rendez chaque groupe de sparklines en PNG — Sparkline.ToImage(ImageOrPrintOptions) renvoie directement les octets de l’image sous forme de Vector<uint8_t> — et assignez le tableau à la propriété EmbeddedImage de la cellule cible — l’assignation est ce qui fait que l’image fait partie du contenu stocké de la cellule.
Parce que chaque groupe de sparklines est ancré sur une seule cellule, vous pouvez l’adresser via l’indexeur group.Sparklines[0] au lieu d’énumérer avec foreach. Cela permet de garder le code de rendu court et correspond au modèle typique « une sparkline par cellule d’ancrage ». Le stockage des octets de l’image via Cell.EmbeddedImage nécessite Aspose.Cells 26.5 ou version ultérieure.
Une fois que le classeur contient des sparklines actives (et éventuellement leurs équivalents en images intégrées), la feuille de calcul entière peut être publiée sur le web en l’enregistrant au format HTML. La classe HtmlSaveOptions expose les paramètres dont vous avez besoin pour contrôler cet export ; dans ce flux de travail, vous réutiliserez le fichier output_with_sparklines.xlsx produit par le flux de travail 1 et le convertirez en un document HTML propre d’une seule page.
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main() {
Aspose::Cells::Startup();
Workbook workbook(u"output_with_sparklines.xlsx");
HtmlSaveOptions htmlOptions;
htmlOptions.SetExportActiveWorksheetOnly(true);
workbook.Save(u"sparklines.html", htmlOptions);
Aspose::Cells::Cleanup();
return 0;
}
Le code ci-dessus prend le classeur riche en sparklines du flux de travail 1 et le transforme en un fichier HTML portable. Les sparklines sont conservées sous forme de rendus SVG ou PNG intégrés dans le HTML généré, selon le mode d’export, afin que les utilisateurs finaux puissent visualiser les tendances dans n’importe quel navigateur moderne sans avoir besoin d’Excel installé. En définissant ExportActiveWorksheetOnly sur true, vous évitez de publier accidentellement des feuilles cachées ou des données auxiliaires — seule la feuille de calcul actuellement visible par l’utilisateur est exportée.
La classe HtmlSaveOptions offre des propriétés supplémentaires pour affiner la sortie, telles que ExportHiddenWorksheet, ExportImagesAsBase64, et Encoding. Ajustez-les selon les besoins de votre cible de déploiement.
Les flux de travail ci-dessus reposent sur un petit ensemble d’API Aspose.Cells travaillant ensemble.
/cells/cpp/sparkline/ - this is the parent topic for sparklines/cells/cpp/inserting-an-image-into-a-cell/ - unrelated/cells/cpp/SmartMarker-Single-Cell-Array-Rendering/ - unrelated
If the rule explicitly says not to include these, I should remove them. But that leaves just the heading with no content. Hmm.Sparkline.ToImage, Cell.EmbeddedImage, HtmlSaveOptions, etc. - these are API identifiers, keep in English.
The class names like Workbook, Worksheet, Cell, ImageOrPrintOptions, HtmlSaveOptions, SparklineGroup, Sparkline, SparklineType - keep in English.
Method names like Add, ToImage, Save - keep in English.
Property names like Sparklines, SparklineGroups, EmbeddedImage, ImageType, ExportActiveWorksheetOnly - keep in English.
Enum values like ImageType.Png, SparklineType.Line, SparklineType.Column, SparklineType.Stacked - keep in English.
linktitle: Convertir une sparkline en image et HTML
keywords: Aspose.Cells, C++, sparkline, Sparkline.ToImage, Cell.EmbeddedImage, HtmlSaveOptions, rendre sparkline, convertir sparkline en image, exporter sparkline en HTML
type: docs
weight: 120
ai_search_scope: cells_cpp
ai_search_endpoint: “https://docsearch.api.aspose.cloud/ask"Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.