Public API Changements dans Aspose.Cells 8.9.1

API ajoutées

Sources de polices configurables

Aspose.Cells for .NET a exposé un certain nombre de classes pour fournir la prise en charge des sources de polices configurables pour le rendu des feuilles de calcul. Voici la liste des classes qui ont été ajoutées avec Aspose.Cells for .NET 8.9.1.

  1. La classe FontConfigs spécifie les paramètres de police.
  2. La classe FontSourceBase est une classe de base abstraite pour les classes qui permettent à l’utilisateur de spécifier diverses sources de polices.
  3. La classe FileFontSource représente le fichier de police TrueType unique stocké dans le système de fichiers.
  4. La classe FolderFontSource représente le dossier qui contient les fichiers de police TrueType.
  5. La classe MemoryFontSource représente le seul fichier de police TrueType stocké en mémoire.
  6. L’énumération FontSourceType spécifie le type d’une source de police.

Avec les changements mentionnés ci-dessus en place, le Aspose.Cells for .NET permet de définir les polices comme détaillé ci-dessous.

  1. Définissez un dossier de polices personnalisées lors de l’utilisation de la méthode FontConfigs.SetFontFolder.
  2. Définissez plusieurs dossiers de polices personnalisées lors de l’utilisation de la méthode FontConfigs.SetFontFolders.
  3. Définissez les sources de polices à partir d’un dossier de polices personnalisé, d’un fichier de police unique ou de données de police à partir d’un tableau d’octets tout en utilisant la méthode FontConfigs.SetFontSources.

Voici un scénario d’utilisation simple des méthodes susmentionnées.

C#

 // Defining string variables to store paths to font folders & font file

string fontFolder1 = "D:/Arial";

string fontFolder2 = "D:/Calibri";

string fontFile = "D:/Arial/arial.ttf";

// Setting first font folder with SetFontFolder method

// Second parameter directs the API to search the subfolders for font files

FontConfigs.SetFontFolder(fontFolder1, true);

// Setting both font folders with SetFontFolders method

// Second parameter prohibits the API to search the subfolders for font files

FontConfigs.SetFontFolders(new string[]{ fontFolder1, fontFolder2 }, false);

// Defining FolderFontSource

FolderFontSource sourceFolder = new FolderFontSource(fontFolder1, false);

// Defining FileFontSource

FileFontSource sourceFile = new FileFontSource(fontFile);

// Defining MemoryFontSource

MemoryFontSource sourceMemory = new MemoryFontSource(System.IO.File.ReadAllBytes(fontFile));

//Setting font sources

FontConfigs.SetFontSources(new FontSourceBase[]{ sourceFolder, sourceFile, sourceMemory});

Aspose.Cells for .NET permet également de configurer la substitution de police. Ce mécanisme est utile lorsqu’une police requise n’est pas disponible sur la machine où la conversion doit avoir lieu. Les utilisateurs peuvent fournir une liste de noms de polices comme alternative à la police requise à l’origine. Pour ce faire, les API Aspose.Cells ont exposé la méthode FontConfigs.SetFontSubstitutes qui accepte 2 paramètres. Le premier paramètre est de type string, qui doit être le nom de la police à remplacer. Le deuxième paramètre est un tableau de type string. Les utilisateurs peuvent fournir une liste de noms de polices en remplacement du nom de police d’origine (spécifié dans le premier paramètre).

Voici un scénario d’utilisation simple de la méthode FontConfigs.SetFontSubstitutes.

C#

 // Substituting the Arial font with Times New Roman & Calibri

FontConfigs.SetFontSubstitutes("Arial", new string[]{ "Times New Roman", "Calibri" });

Le Aspose.Cells for .NET a également fourni des moyens de recueillir des informations sur les sources et les substitutions qui ont été définies.

  1. La méthode FontConfigs.GetFontSources renvoie un tableau de type FontSourceBase contenant la liste des sources de polices spécifiées. Dans le cas où aucune source n’a été définie, la méthode FontConfigs.GetFontSources renverra un tableau vide.
  2. La méthode FontConfigs.GetFontSubstitutes accepte un paramètre de type chaîne permettant de spécifier le nom de la police pour laquelle une substitution a été définie. Dans le cas où aucune substitution n’a été définie pour le nom de police spécifié, la méthode FontConfigs.GetFontSubstitutes renverra null.

Ajout de l’interface IFilePathProvider et de la propriété HtmlSaveOptions.FilePathProvider

Aspose.Cells for .NET 8.9.1 permet d’obtenir/de définir IFilePathProvider pour exporter des feuilles de calcul vers des fichiers HTML séparés. Ces nouvelles API sont utiles dans les scénarios où les liens hypertexte d’une feuille de calcul pointent vers un emplacement dans une autre feuille de calcul, où l’exigence de l’application est de rendre chaque feuille de calcul pour séparer le fichier HTML. L’implémentation de IFilePathProvider permet de conserver intacts les hyperliens susmentionnés, qu’ils pointent vers un emplacement dans un fichier HTML distinct.

Voici le scénario d’utilisation simple de la propriété HtmlSaveOptions.FilePathProvider.

C#

 // Charger une feuille de calcul dans une instance de Workbook

var book = new Workbook(dir + "sample.xlsx");

// Enregistrez chaque feuille de calcul dans un fichier HTML séparé

 pour (int je = 0; je< book.Worksheets.Count; i++)

{

    book.Worksheets.ActiveSheetIndex = i;

    // Create an instance of HtmlSaveOptions & set FilePathProvider property

    var options = new HtmlSaveOptions

    {

        ExportActiveWorksheetOnly = true,

        FilePathProvider = new FilePathProvider()

    };

    // Write HTML file to disc

    book.Save(dir + string.Format(@"sheet{0}.html", i), options);

}

Voici comment implémenter l’interface IFilePathProvider.

C#

 public class FilePathProvider : IFilePathProvider

{

    public FilePathProvider()

    {

    }

    /// <summary>

    /// Gets the full path of the file by Worksheet name when exporting Worksheet to html separately.

    /// So the references among the Worksheets can be exported correctly.

    /// </summary>

    /// <param name="sheetName">Worksheet name</param>

    /// <returns>the full path of the file</returns>

    public string GetFullName(string sheetName)

    {

        if ("Sheet2".Equals(sheetName))

        {

            return "sheet1.html";

        }

        else if ("Sheet3".Equals(sheetName))

        {

            return "sheet2.html";

        }

        return "";

    }

}

Ajout de la propriété CopyOptions.ReferToDestinationSheet et de la surcharge pour la méthode Cells.CopyRows

Aspose.Cells for .NET API a exposé la propriété CopyOptions.ReferToDestinationSheet de type booléen ainsi qu’une surcharge de la méthode Cells.CopyRows afin de faciliter l’opération de copie des lignes lorsque les lignes à copier contiennent également un graphique et sa source de données. Les développeurs peuvent utiliser ces nouvelles API pour faire pointer la source de données du graphique vers les feuilles de calcul source ou de destination.

Voici le scénario d’utilisation simple.

C#

 // Load a sample spreadsheet in an instance of Workbook

var book = new Workbook(dir + "sample.xlsx");

// Access the worksheet containing the chart & its data source

var source = book.Worksheets[0];

// Add a new worksheet to the collection

var destination = book.Worksheets[book.Worksheets.Add()];

// Initialize CopyOptions and set its ReferToDestinationSheet property to true

CopyOptions options = new CopyOptions();

options.ReferToDestinationSheet = true;

// Copy the rows

destination.Cells.CopyRows(source.Cells, 0, 0, source.Cells.MaxDisplayRange.RowCount, options);

// Save the result on disc

book.Save(dir + "output.xlsx");

Ajout de la propriété CalculationOptions.Recursive

Aspose.Cells for .NET 8.9.1 a exposé la propriété de type booléen CalculationOptions.Recursive. La définition de la propriété CalculationOptions.Recursive sur true et la transmission de l’objet à la méthode Workbook.CalculateFormula ordonnent aux API Aspose.Cells de calculer les cellules dépendantes de manière récursive lors du calcul de cellules qui dépendent d’autres cellules.

Voici le scénario d’utilisation simple.

C#

 // Load a sample spreadsheet in an instance of Workbook

var book = new Workbook(dir + "sample.xlsx");

// Initialize CalculationOptions & set Recursive property to true

var options = new CalculationOptions();

options.Recursive = true;

// Recalculate formulas

book.CalculateFormula(options);

API obsolètes

Propriété CellsHelper.FontDir obsolète

Il est conseillé d’utiliser la méthode FontConfigs.SetFontFolder(string, bool) avec dossier récursif à false à la place.

Propriété CellsHelper.FontDirs obsolète

Utilisez la méthode FontConfigs.SetFontFolders(string[], bool) avec le dossier récursif à false à la place.

Propriété CellsHelper.FontFiles obsolète

Utilisez plutôt la méthode FontConfigs.SetFontSources(FontSourceBase[]).