Browse our Products
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 :
- 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.
- Ajoute la méthode GlobalizationSettings.GetPivotGrandTotalName() - Il obtient le nom d’étiquette “Grand Total” dans le tableau croisé dynamique.
- Ajoute la méthode GlobalizationSettings.GetMultipleItemsName() - Il obtient le nom de l’étiquette “(Plusieurs éléments)” dans le tableau croisé dynamique.
- Ajoute la méthode GlobalizationSettings.GetAllName() - Il obtient le nom de l’étiquette “(Tous)” dans le tableau croisé dynamique.
- Ajoute GlobalizationSettings.GetColumnLablesName() method - Il obtient le nom de l’étiquette “Column Labels” dans le tableau croisé dynamique.
- Ajoute la méthode GlobalizationSettings.GetRowLablesName() - Il obtient le nom de l’étiquette “Row Labels” dans le tableau croisé dynamique.
- Ajoute la méthode GlobalizationSettings.GetEmptyDataName() - Il obtient le nom de l’étiquette “(vide)” dans le tableau croisé dynamique.
- 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.
- 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:  </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 :