Nouvelles fonctionnalités de mesure de texte dans R2 2021

SpreadTextMeasurerBase fixedTextMeasurer =
new
SpreadFixedTextMeasurer();
SpreadExtensibilityManager.TextMeasurer = fixedTextMeasurer;
N'oubliez pas que SpreadFixedTextMeasurer utilise PdfProcessing et a besoin d'une référence à Telerik.Documents.Fixed.dll.
Si vous souhaitez en savoir plus détails sur cette fonctionnalité, accédez directement à la rubrique d'aide Mesure de texte pour trouver toutes les informations nécessaires.
SpreadStreamProcessing
La bibliothèque de streaming est conçue avec la compatibilité .NET Standard et d'excellentes performances à l'esprit, ainsi il ne prend en charge aucune mesure. Avec la nouvelle classe CellContentSizeHelpervous pouvez désormais obtenir la taille qu'un élément de contenu spécifique aurait besoin de restituer, vous pouvez donc le définir sur la ligne ou la colonne qui le contient. De cette façon, vous pouvez obtenir une fonctionnalité assez proche de l'ajustement automatique du contenu d'une ligne ou d'une colonne.
Détails importants
La classe CellContentSizeHelper utilise la logique de mesure de SpreadProcessing. C'est pourquoi vous devez ajouter une référence à Telerik.Windows.Documents.Spreadsheet.dll pour les projets .NET Framework ou Telerik.Documents.Spreadsheet.dll pour les projets .NET Standard.
Dans .NET Standard, vous pouvez contrôler la logique de mesure via SpreadExtensibilityManager.TextMeasurer comme décrit dans la section précédente de cet article.
Example
La classe CellContentSizeHelper expose différentes surcharges du Méthode GetCellContentSize qui vous permet de spécifier la mise en forme appliquée au contenu du texte. Mesurer du texte est désormais aussi simple que de transmettre la chaîne et les propriétés de style que vous devez lui appliquer à une seule méthode. L'exemple suivant montre comment vous pouvez créer une feuille de calcul comportant des colonnes aussi larges que le contenu l'exige.
public
static
void
ExportSpreadsheet(SpreadDocumentFormat documentFormat,
string[19659003]fileName)
{
SpreadCellFormat format =
new
SpreadCellFormat()
{
NumberFormat =
" "
,
Est gras =
vrai
,
IsItalic =
true
};
[19659040]
chaîne
[] légumesÀExporter =
nouveau
chaîne
[] {
"carrot"
"brocoli"
"concombre"
"aubergine"
"laitue"
"chou"
"tomate"
} ;
double
légumesLargeurColonne ;
CalculerLargeurColonne(format, légumesÀExporter,
outables
W
using
(FileStream stream = File.Open(fileName, FileMode.OpenOrCreate))
{
using
(IWorkbookExporter workbook = SpreadExporter.CreateWorkbookExporter)]
{
using
(IWorksheetExportsheet
"Liste des légumes"
))
{
using
(IColumnExporter column = worksheet.CreateColumnExporter())
19 900 93
column.SetWidthInPixels(vegetablesColumnWidth);
}
[ 90] 19659003](
int
rowIndex = 1; rowIndex < légumesVersExporter.Longueur + 1; rowIndex++)
{
IRowExporter row = worksheet.CreateRowExporter())
{
199005 1965990 19659113]string légume = légumesÀExporter[rowIndex - 1];
19659113]using
(ICellExporter cell = row.CreateCellExporter())
{
{
cell.SetValue(vegetable);
cell.SetFormat(format);
}
[1969005][459021] }
}
[[19 6]
}
}
}
privé
statique[19659014]void
CalculateColumnWidth(SpreadCellFormat format,
string
[] valeurs,
out
double
columnWidth)
]
[19659005]
columnWidth = 0;
for
(
int
i = 0 ; i < valeurs.Longueur ; i++)
{
double
contenuWid = CellContentSizeHelper.GetCellContentSize(values[i]format).Width;
columnWidth = Math.Max(columnWidth, content);
}
}
Comme vous pouvez le voir, la méthode CalculateColumnWidth est celui qui appelle GetCellContentSize et obtient la largeur de la chaîne qui aurait besoin de la plus grande surface pour être rendue. Une fois que vous avez le résultat de ce calcul, vous pouvez le définir sur la colonne qui hébergera les valeurs. Si vous souhaitez en savoir plus sur l'utilisation de cette fonctionnalité, rendez-vous sur notre page de documentation qui la décrit : Obtenir la taille du contenu de la cellule.
Essayer et partager vos commentaires
Au cas où vous n'avez toujours pas essayé Telerik Document Processing, utilisez le bouton ci-dessous pour obtenir une version d'essai et explorer toutes les fonctionnalités et possibilités des bibliothèques.
Si vous l'êtes déjà familier avec le paquet, n'oubliez pas que nous sommes impatients d'entendre vos commentaires. N'hésitez pas à nous laisser un commentaire ci-dessous pour partager vos réflexions. Ou visitez notre Portail de commentaires sur les bibliothèques de traitement de documents pour nous faire savoir si vous avez des suggestions ou si vous avez besoin de fonctionnalités particulières.
Source link