Aspose.Cells for .NET 17.3.0 Notas de la versión

Llave Resumen Categoría
CELLSNET-45037 Admite etiquetas personalizadas de total y gran total para tablas dinámicas Nueva caracteristica
CELLSNET-45156 Sincroniza la paginación de las dos grillas (Aspose.Cells.GridWeb) Nueva caracteristica
CELLSNET-45140 Valide solo las celdas actualizadas e ignore la validación de otras celdas (Aspose.Cells.GridWeb) Nueva caracteristica
CELLSNET-45158 El cambio en la fuente de datos dinámica agrega LinkSource adicional Mejora
CELLSNET-45168 La forma está sesgada/inclinada un poco con su posición de texto “1” cambiada Insecto
CELLSNET-45163 El texto en una forma se invierte al representar la hoja de trabajo en la imagen Insecto
CELLSNET-45161 El ángulo de la imagen en la hoja de cálculo es ligeramente diferente Insecto
CELLSNET-45159 Los objetos de forma automática se han renderizado incorrectamente Insecto
CELLSNET-45138 PrintArea no logra transformar las imágenes correctamente Insecto
CELLSNET-45136 Los cuadros se rotan cuando Excel se convierte a PDF Insecto
CELLSNET-45182 La hoja de cálculo resultante no se puede cargar en Excel sin reparación Insecto
CELLSNET-45143 Aspose.Cells produce una tabla dinámica dañada con filtro de informe cuando se guarda en XLSB Insecto
CELLSNET-45135 Las imágenes se superponen al importar HTML como XLSX Insecto
CELLSNET-45134 Los anchos de columna se pierden al importar HTML como XLSX Insecto
CELLSNET-45133 El estilo del contenido se pierde al importar HTML como XLSX Insecto
CELLSNET-45132 WrapText habilitado en HTML se pierde cuando se guarda en formato XLSX Insecto
CELLSNET-45127 El estilo y tamaño de fuente se cambia después de importar HTML como XLSX Insecto
CELLSNET-45115 Actualizar la tabla dinámica después de agregar algunos datos genera un archivo de Excel corrupto Insecto
CELLSNET-45109 Error en la actualización de la tabla dinámica agrupada por columna de fecha Insecto
CELLSNET-45081 La función de combinación de etiquetas de Pivot Table no funciona Insecto
CELLSNET-45076 La alineación no funciona y el texto sale de la celda en Excel a la conversión HTML Insecto
CELLSNET-45057 La conversión de HTML a XLSX no es correcta Insecto
CELLSNET-45040 Algunos elementos de campo dinámico se representan como valores de fecha en lugar de Numbers Insecto
CELLSNET-40265 Problema con la cultura de los archivos de entrada Insecto
CELLSNET-45142 Problema con la función BUSCARV cuando se usa el rango externo Insecto
CELLSNET-45150 Imposible expandir o contraer las últimas filas de la hoja de trabajo Insecto
CELLSNET-45139 La paginación no funciona con dos GridWebs en una página Insecto
CELLSNET-45137 Las filas o columnas agrupadas tienen problemas en GridWeb cuando se ejecuta en Internet Explorer 11 Insecto
CELLSNET-45203 Los caracteres se superponen al representar un archivo de Excel en PDF Insecto
CELLSNET-45196 La impresión está distorsionada en XPS exportado Insecto
CELLSNET-45187 Las etiquetas deben estar en orden ascendente según la especificación TrueType Insecto
CELLSNET-45169 Advertencia: el tamaño máximo para la región es 262144 bytes, en SheetRender.ToImage en Mono Insecto
CELLSNET-45167 SheetRender.ToImage representa el contenido ilegible e incompleto en Mono Insecto
CELLSNET-45166 SheetRender.ToImage muestra solo el encabezado y el pie de página en Mono Insecto
CELLSNET-43732 Representar a EMF y pegarlo en Word hace que el texto se superponga en el PDF resultante Insecto
CELLSNET-45186 El gráfico de áreas no se muestra en la exportación PDF Insecto
CELLSNET-45178 Las etiquetas de los ejes se recortan al representar el gráfico en la imagen Insecto
CELLSNET-45177 Faltan las etiquetas de los ejes al representar el gráfico en la imagen - II Insecto
CELLSNET-45151 Los gráficos pierden todo el formato al representar la hoja de cálculo en PDF Insecto
CELLSNET-45147 Falta el gráfico al renderizar la hoja de cálculo al PDF Insecto
CELLSNET-44998 Las etiquetas de datos del gráfico cambian después de convertir la hoja de cálculo a PDF Insecto
CELLSNET-44984 La línea de tendencia en el segundo diagrama no se representa correctamente en la salida PDF Insecto
CELLSNET-41539 El arte de la palabra o la imagen de la elipse verde se representa incorrectamente alrededor del gráfico en el PDF Insecto
CELLSNET-45197 Range.MoveTo no mueve la validación de datos y el formato condicional Insecto
CELLSNET-45183 El atributo “Bloqueado” del control ActiveX (ComboBox) no se cambia Insecto
CELLSNET-45179 La configuración de CodeName en el archivo XLSX no funciona bien Insectos
CELLSNET-45175 El formato de imagen no funciona para los archivos XLSX Insecto
CELLSNET-45174 El rango Print_Area se rompió después de DeleteRange Insecto
CELLSNET-45173 El archivo XLSX está dañado después de guardar Insecto
CELLSNET-45171 Mover el rango hace que los rangos internos se reduzcan siendo una celda de largo Insecto
CELLSNET-45162 El gráfico no se calcula/actualiza correctamente después de eliminar un rango Insecto
CELLSNET-45155 Cells.InsertColumns/DeleteColumns provoca “#REF” para ListObject/Table Insecto
CELLSNET-45154 Mover el rango no actualiza las referencias en otra hoja Insecto
CELLSNET-45145 No se puede eliminar el objeto CameraTool Insecto
CELLSNET-45060 La configuración de la fuente del botón cambió después de una operación simple de carga y guardado Insecto
CELLSNET-43722 Error de archivo: es posible que se hayan perdido los datos, arrojados por Excel al abrir XLS Insecto
CELLSNET-45190 Ocurrió una excepción al calcular la fórmula WORKDAY Excepción
CELLSNET-45199 Excel a PDF: índice fuera de la excepción de matriz Excepción

Public API y cambios incompatibles con versiones anteriores

La siguiente es una lista de los cambios realizados al público API, como miembros agregados, renombrados, eliminados o obsoletos, así como cualquier cambio no compatible con versiones anteriores realizado en Aspose.Cells for .NET. Si tiene inquietudes sobre cualquier cambio enumerado, plantéelo en el foro de soporte Aspose.Cells.

Personalizar la configuración de globalización de una tabla dinámica

Usando la versión reciente 17.3.0 o superior, los desarrolladores pueden personalizar la configuración de globalización de una tabla dinámica en un archivo de Excel. Pueden cambiar el texto Pivot Total, Sub Total, Grand Total, All Items, Multiple Items, Column Labels, Row Labels, Blank Values según los requisitos. Los desarrolladores pueden incorporar esta función en sus aplicaciones .NET, independientemente del idioma del texto de Excel. Puede ser árabe, hindi, polaco, etc. Todos los nuevos métodos admitidos se enumeran a continuación:

  1. Agrega el método GlobalizationSettings.GetPivotTotalName() - Recibe el nombre de la etiqueta “Total” en la tabla dinámica. Los desarrolladores pueden invalidar este método cuando la tabla dinámica contiene dos o más campos dinámicos en el área de datos.
  2. Agrega el método GlobalizationSettings.GetPivotGrandTotalName() - Recibe el nombre de la etiqueta “Total general” en la tabla dinámica.
  3. Agrega el método GlobalizationSettings.GetMultipleItemsName() - Obtiene el nombre de la etiqueta “(Múltiples elementos)” en la tabla dinámica.
  4. Agrega el método GlobalizationSettings.GetAllName() - Obtiene el nombre de la etiqueta “(Todos)” en la tabla dinámica.
  5. Agrega GlobalizationSettings.GetColumnLablesName() método: obtiene el nombre de la etiqueta “Etiquetas de columna” en la tabla dinámica.
  6. Agrega el método GlobalizationSettings.GetRowLablesName() - Recibe el nombre de la etiqueta “Etiquetas de fila” en la tabla dinámica.
  7. Agrega el método GlobalizationSettings.GetEmptyDataName() - Recibe el nombre de la etiqueta “(en blanco)” en la tabla dinámica.
  8. Agrega el método GlobalizationSettings.GetSubTotalName(PivotFieldSubtotalType subTotalType) - Recibe el nombre de tipo “PivotFieldSubtotalType” en la tabla dinámica.

Este ejemplo de código explica cómo personalizar la configuración de globalización de una tabla dinámica. Crea una clase CustomPivotTableGlobalizationSettings derivada de una clase base GlobalizationSettings y anula todos sus métodos necesarios. Estos métodos devuelven el texto personalizado para Pivot Total, Sub Total, Grand Total, All Items, Multiple Items, Column Labels, Row Labels, Blank Values. Luego asigna el objeto de esta clase a la propiedad Workbook.GlobalizationSettings. El código carga el archivo fuente de Excel que contiene la tabla dinámica, actualiza y calcula sus datos y los guarda como un archivo de salida PDF. Los desarrolladores también pueden guardar el libro de trabajo en cualquier formato admitido.

.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

Ejecute el script del lado del cliente en el evento de cambio de página de GridWeb Control

Con la propiedad OnPageChangeClientFunction del control GridWeb, los desarrolladores pueden ejecutar un script del lado del cliente en el evento de cambio de página porque el control GridWeb puede contener datos en varias páginas. Es posible que necesiten mostrar el índice de la página actual en sus aplicaciones web.

  1. Agrega una propiedad OnPageChangeClientFunction en GridWeb Control - Obtiene o configura la función de secuencia de comandos del lado del cliente para que se llame cuando el índice de la página está cambiando. Solo tiene efecto cuando EnablePaging es verdadero.

Este ejemplo de código muestra el uso de la propiedad OnPageChangeClientFunction. Establece la propiedad con la función del lado del cliente denominada MyOnPageChange. Ahora, siempre que el usuario cambie la página GridWeb, llamará a la función del lado del cliente MyOnPageChange que imprime elíndice de la página actualsobre elconsola:

.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);

}

Validar toda la hoja de cálculo de Excel

De forma predeterminada, GridWeb valida solo las celdas actualizadas y no valida toda la hoja de cálculo de Excel. Sin embargo, si los desarrolladores requieren validar toda la hoja de cálculo de Excel en el lado del cliente antes de que GridWeb publique la solicitud en el servidor, entonces debe establecer la variable needValidateall dentro de acwmain.js en verdadero.

Ejemplos de uso

Consulte la lista de temas de ayuda agregados en los documentos Wiki Aspose.Cells:

  1. Personalizar la configuración de globalización para la tabla dinámica
  2. Ejecutar la función del lado del cliente en el cambio de página de GridWeb
  3. Valide toda la hoja de trabajo en lugar de solo las celdas actualizadas