Fermer

août 12, 2021

Nouvelles fonctionnalités de mesure de texte dans R2 20213 minutes de lecture



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.

Télécharger un essai gratuit

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

0 Partages