Aspose.Cells for .NET 17.3.0 Notes de mise à jour

Clé Résumé Catégorie
CELLSNET-45037 Prise en charge des étiquettes de total et de total général personnalisées pour les tableaux croisés dynamiques Nouvelle fonctionnalité
CELLSNET-45156 Synchroniser la pagination des deux grilles (Aspose.Cells.GridWeb) Nouvelle fonctionnalité
CELLSNET-45140 Valider uniquement les cellules mises à jour et ignorer la validation des autres cellules (Aspose.Cells.GridWeb) Nouvelle fonctionnalité
CELLSNET-45158 La modification de la source de données pivot ajoute un LinkSource supplémentaire Renforcement
CELLSNET-45168 La forme est légèrement inclinée/inclinée avec la position de son texte “1” modifiée Punaise
CELLSNET-45163 Le texte d’une forme est inversé lors du rendu de la feuille de calcul en image Punaise
CELLSNET-45161 L’angle de l’image dans la feuille de calcul est légèrement différent Punaise
CELLSNET-45159 Les objets de forme automatique ont un rendu incorrect Punaise
CELLSNET-45138 PrintArea n’arrive pas à transformer correctement les images Punaise
CELLSNET-45136 Les cases sont pivotées lors de la conversion d’Excel en PDF Punaise
CELLSNET-45182 La feuille de calcul résultante ne peut pas être chargée dans Excel sans réparation Punaise
CELLSNET-45143 Aspose.Cells produit un tableau croisé dynamique corrompu avec un filtre de rapport lorsqu’il est enregistré dans XLSB Punaise
CELLSNET-45135 Les images se chevauchent lors de l’importation de HTML en tant que XLSX Punaise
CELLSNET-45134 Les largeurs de colonne sont perdues lors de l’importation de HTML en tant que XLSX Punaise
CELLSNET-45133 Le style de contenu est perdu lors de l’importation de HTML en tant que XLSX Punaise
CELLSNET-45132 WrapText activé dans HTML est perdu lors de l’enregistrement au format XLSX Punaise
CELLSNET-45127 Le style et la taille de la police sont modifiés après l’importation de HTML en tant que XLSX Punaise
CELLSNET-45115 L’actualisation du tableau croisé dynamique après l’ajout de certaines données génère un fichier Excel corrompu Punaise
CELLSNET-45109 Erreur lors de l’actualisation du tableau croisé dynamique regroupé par colonne de date Punaise
CELLSNET-45081 La fonctionnalité de fusion des étiquettes du tableau croisé dynamique ne fonctionne pas Punaise
CELLSNET-45076 L’alignement ne fonctionne pas et le texte sort de la cellule dans Excel en conversion HTML Punaise
CELLSNET-45057 La conversion de HTML en XLSX n’est pas correcte Punaise
CELLSNET-45040 Certains éléments de champ pivot sont rendus sous forme de valeurs de date au lieu de Numbers Punaise
CELLSNET-40265 Problème avec la culture des fichiers d’entrée Punaise
CELLSNET-45142 Problème avec la fonction VLOOKUP lorsque la plage externe est utilisée Punaise
CELLSNET-45150 Impossible de développer ou de réduire les dernières lignes de la feuille de calcul Punaise
CELLSNET-45139 La pagination ne fonctionne pas avec deux GridWebs sur une page Punaise
CELLSNET-45137 Les lignes ou colonnes groupées ont des problèmes dans GridWeb lorsqu’il est exécuté sur Internet Explorer 11 Punaise
CELLSNET-45203 Les caractères se chevauchent lors du rendu d’un fichier Excel en PDF Punaise
CELLSNET-45196 L’impression est tronquée lors de l’exportation XPS Punaise
CELLSNET-45187 Les balises doivent être dans l’ordre croissant conformément à la spécification TrueType Punaise
CELLSNET-45169 Avertissement : La taille maximale de la région est de 262 144 octets, à SheetRender.ToImage sur Mono Punaise
CELLSNET-45167 SheetRender.ToImage rend le contenu brouillé et incomplet sur Mono Punaise
CELLSNET-45166 SheetRender.ToImage rend uniquement l’en-tête et le pied de page sur Mono Punaise
CELLSNET-43732 Le rendu en EMF et le collage dans Word entraînent le chevauchement du texte dans le PDF résultant Punaise
CELLSNET-45186 Le graphique en aires ne s’affiche pas sur l’exportation PDF Punaise
CELLSNET-45178 Les étiquettes d’axe sont coupées lors du rendu du graphique en image Punaise
CELLSNET-45177 Les étiquettes d’axe sont manquantes lors du rendu du graphique en image - II Punaise
CELLSNET-45151 Les graphiques perdent tout formatage lors du rendu de la feuille de calcul en PDF Punaise
CELLSNET-45147 Le graphique est manquant lors du rendu de la feuille de calcul au PDF Punaise
CELLSNET-44998 Les étiquettes de données du graphique changent après la conversion de la feuille de calcul en PDF Punaise
CELLSNET-44984 La ligne de tendance dans le deuxième diagramme n’est pas rendue correctement dans la sortie PDF Punaise
CELLSNET-41539 L’image / l’art du mot ellipse verte est mal rendu autour du graphique dans le PDF Punaise
CELLSNET-45197 Range.MoveTo ne déplace pas la validation des données et la mise en forme conditionnelle Punaise
CELLSNET-45183 L’attribut “Verrouillé” du champ ActiveX (ComboBox) n’est pas modifié Punaise
CELLSNET-45179 La définition de CodeName sur le fichier XLSX ne fonctionne pas correctement Insectes
CELLSNET-45175 Le formatage de l’image ne fonctionne pas pour les fichiers XLSX Punaise
CELLSNET-45174 La plage Print_Area s’est cassée après DeleteRange Punaise
CELLSNET-45173 Le fichier XLSX est corrompu après l’enregistrement Punaise
CELLSNET-45171 Le déplacement de la plage entraîne le rétrécissement des plages intérieures d’une longueur d’une cellule Punaise
CELLSNET-45162 Le graphique n’est pas calculé/actualisé correctement après la suppression d’une plage Punaise
CELLSNET-45155 Cells.InsertColumns/DeleteColumns provoque “#REF” pour le ListObject/Table Punaise
CELLSNET-45154 Le déplacement de la plage ne met pas à jour les références sur une autre feuille Punaise
CELLSNET-45145 Impossible de supprimer l’objet CameraTool Punaise
CELLSNET-45060 Les paramètres de police du bouton ont changé après une simple opération de chargement et de sauvegarde Punaise
CELLSNET-43722 Erreur de fichier : des données ont peut-être été perdues, générées par Excel lors de l’ouverture XLS Punaise
CELLSNET-45190 Une exception s’est produite lors du calcul de la formule WORKDAY Exception
CELLSNET-45199 Excel vers PDF - Exception d’index hors tableau Exception

Public API et modifications incompatibles avec les versions antérieures

Voici une liste de toutes les modifications apportées au public API, telles que les membres ajoutés, renommés, supprimés ou obsolètes, ainsi que toute modification non rétrocompatible apportée à Aspose.Cells for .NET. Si vous avez des inquiétudes concernant l’un des changements répertoriés, veuillez le signaler sur le forum d’assistance Aspose.Cells.

Personnaliser les paramètres de globalisation d’un tableau croisé dynamique

À l’aide de la version récente 17.3.0 ou supérieure, les développeurs peuvent personnaliser les paramètres de globalisation d’un tableau croisé dynamique dans un fichier Excel. Ils peuvent modifier le texte Pivot Total, Sub Total, Grand Total, All Items, Multiple Items, Column Labels, Row Labels, Blank Values selon les exigences. Les développeurs peuvent intégrer cette fonctionnalité dans leurs applications .NET, quel que soit le langage de texte Excel. Il peut s’agir de l’arabe, de l’hindi, du polonais, etc. Toutes les nouvelles méthodes prises en charge sont répertoriées ci-dessous :

  1. Ajoute la méthode GlobalizationSettings.GetPivotTotalName() - Il obtient le nom de l’étiquette “Total” dans le tableau croisé dynamique. Les développeurs peuvent remplacer cette méthode lorsque le tableau croisé dynamique contient au moins deux champs croisés dynamiques dans la zone de données.
  2. Ajoute la méthode GlobalizationSettings.GetPivotGrandTotalName() - Il obtient le nom d’étiquette “Grand Total” dans le tableau croisé dynamique.
  3. Ajoute la méthode GlobalizationSettings.GetMultipleItemsName() - Il obtient le nom de l’étiquette “(Plusieurs éléments)” dans le tableau croisé dynamique.
  4. Ajoute la méthode GlobalizationSettings.GetAllName() - Il obtient le nom de l’étiquette “(Tous)” dans le tableau croisé dynamique.
  5. Ajoute GlobalizationSettings.GetColumnLablesName() method - Il obtient le nom de l’étiquette “Column Labels” dans le tableau croisé dynamique.
  6. Ajoute la méthode GlobalizationSettings.GetRowLablesName() - Il obtient le nom de l’étiquette “Row Labels” dans le tableau croisé dynamique.
  7. Ajoute la méthode GlobalizationSettings.GetEmptyDataName() - Il obtient le nom de l’étiquette “(vide)” dans le tableau croisé dynamique.
  8. Ajoute la méthode GlobalizationSettings.GetSubTotalName(PivotFieldSubtotalType subTotalType) - Il obtient le nom du type “PivotFieldSubtotalType” dans le tableau croisé dynamique.

Cet exemple de code explique comment personnaliser les paramètres de globalisation d’un tableau croisé dynamique. Il crée une classe CustomPivotTableGlobalizationSettings dérivée d’une classe de base GlobalizationSettings et remplace toutes ses méthodes nécessaires. Ces méthodes renvoient le texte personnalisé pour le total croisé dynamique, le sous-total, le total général, tous les éléments, plusieurs éléments, les étiquettes de colonne, les étiquettes de ligne, les valeurs vides. Ensuite, il affecte l’objet de cette classe à la propriété Workbook.GlobalizationSettings. Le code charge le fichier Excel source qui contient le tableau croisé dynamique, actualise et calcule ses données et l’enregistre en tant que fichier de sortie PDF. Les développeurs peuvent également enregistrer le classeur dans n’importe quel format pris en charge.

.NET, C#

 //Load your excel file

Workbook wb = new Workbook("samplePivotTableGlobalizationSettings.xlsx");



//Setting Custom Pivot Table Globalization Settings

wb.Settings.GlobalizationSettings = new CustomPivotTableGlobalizationSettings();



//Hide first worksheet that contains the data of the pivot table

wb.Worksheets[0].IsVisible = false;



//Access second worksheet

Worksheet ws = wb.Worksheets[1];



//Access the pivot table, refresh and calculate its data

PivotTable pt = ws.PivotTables[0];

pt.RefreshDataFlag = true;

pt.RefreshData();

pt.CalculateData();

pt.RefreshDataFlag = false;



//Pdf save options - save entire worksheet on a single pdf page

PdfSaveOptions options = new PdfSaveOptions();

options.OnePagePerSheet = true;



//Save the output pdf 

wb.Save("outputPivotTableGlobalizationSettings.pdf", options);



// it derives a new class, called CustomPivotTableGlobalizationSettings, from the GlobalizationSettings class, as follows:

private class CustomPivotTableGlobalizationSettings : GlobalizationSettings

{

    //Gets the name of "Total" label in the PivotTable.

    //You need to override this method when the PivotTable contains two or more PivotFields in the data area.

    public override string GetPivotTotalName()

    {

        Debug.WriteLine("---------GetPivotTotalName-------------");

        return "AsposeGetPivotTotalName";

    }



    //Gets the name of "Grand Total" label in the PivotTable.

    public override string GetPivotGrandTotalName()

    {

        Debug.WriteLine("---------GetPivotGrandTotalName-------------");

        return "AsposeGetPivotGrandTotalName";

    }



    //Gets the name of "(Multiple Items)" label in the PivotTable.

    public override string GetMultipleItemsName()

    {

        Debug.WriteLine("---------GetMultipleItemsName-------------");

        return "AsposeGetMultipleItemsName";

    }



    //Gets the name of "(All)" label in the PivotTable.

    public override string GetAllName()

    {

        Debug.WriteLine("---------GetAllName-------------");

        return "AsposeGetAllName";

    }





    //Gets the name of "Column Labels" label in the PivotTable.

    public override string GetColumnLablesName()

    {

        Debug.WriteLine("---------GetColumnLablesName-------------");

        return "AsposeGetColumnLablesName";

    }



    //Gets the name of "Row Labels" label in the PivotTable.

    public override string GetRowLablesName()

    {

        Debug.WriteLine("---------GetRowLablesName-------------");

        return "AsposeGetRowLablesName";

    }



    //Gets the name of "(blank)" label in the PivotTable.

    public override string GetEmptyDataName()

    {

        Debug.WriteLine("---------GetEmptyDataName-------------");

        return "(blank)AsposeGetEmptyDataName";

    }



    //Gets the name of PivotFieldSubtotalType type in the PivotTable.

    public override string GetSubTotalName(PivotFieldSubtotalType subTotalType)

    {

        Debug.WriteLine("---------GetSubTotalName-------------");



        switch (subTotalType)

        {

            case PivotFieldSubtotalType.Sum:

                return "AsposeSum";//polish



            case PivotFieldSubtotalType.Count:

                return "AsposeCount";



            case PivotFieldSubtotalType.Average:

                return "AsposeAverage";



            case PivotFieldSubtotalType.Max:

                return "AsposeMax";



            case PivotFieldSubtotalType.Min:

                return "AsposeMin";



            case PivotFieldSubtotalType.Product:

                return "AsposeProduct";



            case PivotFieldSubtotalType.CountNums:

                return "AsposeCount";



            case PivotFieldSubtotalType.Stdev:

                return "AsposeStdDev";



            case PivotFieldSubtotalType.Stdevp:

                return "AsposeStdDevp";



            case PivotFieldSubtotalType.Var:

                return "AsposeVar";



            case PivotFieldSubtotalType.Varp:

                return "AsposeVarp";



        }



        return "AsposeSubTotalName";

    }

}//End CustomPivotTableGlobalizationSettings

Exécuter le script côté client lors de l’événement de changement de page de GridWeb Control

À l’aide de la propriété OnPageChangeClientFunction du contrôle GridWeb, les développeurs peuvent exécuter un script côté client sur l’événement de changement de page, car le contrôle GridWeb peut contenir des données sur plusieurs pages. Ils peuvent avoir besoin d’afficher l’index de la page en cours dans leurs applications Web.

  1. Ajoute une propriété OnPageChangeClientFunction dans GridWeb Control - il obtient ou définit la fonction de script côté client à appeler lorsque l’index de page change. Il ne prend effet que lorsque EnablePaging est vrai.

Cet exemple de code montre l’utilisation de la propriété OnPageChangeClientFunction. Il définit la propriété avec la fonction côté client nommée MyOnPageChange. Désormais, chaque fois que l’utilisateur modifiera la page GridWeb, il appellera la fonction côté client MyOnPageChange qui imprime leindex de la page courantesur leconsole:

.NET, C#

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestGridWeb.aspx.cs" Inherits="TestGridWeb" %>



<%@ Register TagPrefix="acw" Namespace="Aspose.Cells.GridWeb" Assembly="Aspose.Cells.GridWeb" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>Test GridWeb</title>

    <script type="text/javascript">

        function MyOnPageChange(index) {

            console.log("current page is:" + index);

        }

    </script>

</head>

<body>

    <form id="form1" runat="server">

        <div>

            <div>

                <b>GridWeb Version:&nbsp </b>

                <asp:Label ID="lblVersion" runat="server" Text="Label"></asp:Label>

                <br />

            </div>

            <acw:GridWeb ID="GridWeb1"

            runat="server" XhtmlMode="True"

            Height="504px" Width="1119px" EnablePaging="true"

            OnPageChangeClientFunction ="MyOnPageChange">

            </acw:GridWeb>

        </div>

    </form>

</body>

</html>

//........................................................

// It is the client side function MyOnPageChange that will be executed because of setting OnPageChangeClientFunction ="MyOnPageChange"property in GridWeb.

function MyOnPageChange(index) {

    console.log("current page is:" + index);

}

Valider l’intégralité de la feuille de calcul Excel

Par défaut, GridWeb valide uniquement les cellules mises à jour et ne valide pas l’intégralité de la feuille de calcul Excel. Toutefois, si les développeurs doivent valider l’intégralité de la feuille de calcul Excel côté client avant que GridWeb n’envoie la demande au serveur, vous devez définir la variable needValidateall dans acwmain.js sur true.

Exemples d’utilisation

Veuillez consulter la liste des rubriques d’aide ajoutées dans les documents Wiki Aspose.Cells :

  1. Personnaliser les paramètres de globalisation pour le tableau croisé dynamique
  2. Exécuter la fonction côté client lors du changement de page GridWeb
  3. Valider toute la feuille de calcul au lieu des seules cellules mises à jour