Explore nuestros productos

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

LlaveResumenCategoría
CELLSJAVA-42205Establecer fórmula con resultados literales de cadena larga en un archivo de Excel corruptoMejora
CELLSJAVA-42204Los bordes punteados de la hoja de cálculo no se han representado en HTMLInsecto
CELLSJAVA-42198El cálculo de la fórmula es incorrecto con el archivo de Excel generado Aspose.CellsInsecto
CELLSJAVA-42156Los bordes superior e inferior de las celdas desaparecen al convertir a HTMLInsecto
CELLSJAVA-42208Los comentarios (al final) se cortan verticalmente cuando se generan PDF a través de Aspose.CellsInsecto
CELLSJAVA-42206Las líneas de guiones de la serie para los gráficos no se representan correctamente en la salida PDFInsecto
CELLSJAVA-42167 Las etiquetas del eje de categoría se muestran en dos líneas después de convertir el gráfico en imagenInsecto
CELLSJAVA-42199Gráfico de cascada, la línea de la barra total y la barra justo antes de que falteInsecto
CELLSJAVA-42201Subtarea: las etiquetas del eje de categoría se muestran en dos líneas después de convertir el gráfico en imagenInsecto
CELLSJAVA-42155El gráfico exportado tiene etiquetas en el eje x diferentes a las de ExcelInsecto
CELLSJAVA-42128El gráfico es incorrecto al abrir y guardar el archivo fuente de ExcelInsecto
CELLSJAVA-42203La fuente se ha cambiado después de simplemente cargar y volver a guardar el XLSMInsecto
CELLSJAVA-42196El formato del archivo resultante está desordenado en el archivo que se volvió a guardarInsecto
CELLSJAVA-42195Gráfico de cascada, la serie Total se ve malInsecto
CELLSJAVA-42181Vista protegida después de volver a guardar un archivo XLSInsecto
CELLSJAVA-42045No se genera la imagen del gráfico de radarInsecto

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 Java. 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.

Java

 //Load your excel file

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



//Setting Custom Pivot Table Globalization Settings

wb.getSettings().setGlobalizationSettings(new CustomPivotTableGlobalizationSettings());



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

wb.getWorksheets().get(0).setVisible(false);



//Access second worksheet

Worksheet ws = wb.getWorksheets().get(1);



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

PivotTable pt = ws.getPivotTables().get(0);

pt.setRefreshDataFlag(true);

pt.refreshData();

pt.calculateData();

pt.setRefreshDataFlag(false);



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

PdfSaveOptions options = new PdfSaveOptions();

options.setOnePagePerSheet(true);



//Save the output pdf 

wb.save(dirPath + "outputPivotTableGlobalizationSettings.pdf", options);



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

class CustomPivotTableGlobalizationSettings extends 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 String getPivotTotalName()

    {

        System.out.println("---------GetPivotTotalName-------------");

        return "AsposeGetPivotTotalName";

    }



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

    public String getPivotGrandTotalName()

    {

        System.out.println("---------GetPivotGrandTotalName-------------");

        return "AsposeGetPivotGrandTotalName";

    }



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

    public String getMultipleItemsName()

    {

        System.out.println("---------GetMultipleItemsName-------------");

        return "AsposeGetMultipleItemsName";

    }



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

    public String getAllName()

    {

        System.out.println("---------GetAllName-------------");

        return "AsposeGetAllName";

    }



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

    public String getColumnLablesName()

    {

        System.out.println("---------GetColumnLablesName-------------");

        return "AsposeGetColumnLablesName";

    }



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

    public String getRowLablesName()

    {

        System.out.println("---------GetRowLablesName-------------");

        return "AsposeGetRowLablesName";

    }



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

    public String getEmptyDataName()

    {

        System.out.println("---------GetEmptyDataName-------------");

        return "(blank)AsposeGetEmptyDataName";

    }



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

    public String getSubTotalName(int subTotalType)

    {

        System.out.println("---------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.COUNT_NUMS:

                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:

Java

 // 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+1));

}



// The following code explains how to enable paging and set the OnPageChangeClientFunction property.

GridWebBean gridweb=BeanManager.getBean(request);

gridweb.setEnablePaging(true);

gridweb.setOnPageChangeClientFunction("MyOnPageChange");

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


 
 Español