Público API Cambios en Aspose.Cells 8.7.0

API añadidas

Compatibilidad con la firma, detección y extracción digital del proyecto VBA

Esta versión de Aspose.Cells for .NET ha expuesto algunas propiedades y métodos nuevos para ayudar a los usuarios en tareas como la firma digital de un proyecto de VBA, la detección de si un proyecto de VBA está firmado y es válido. Además, el nuevo API permite extraer el certificado como datos sin procesar del proyecto VBA firmado digitalmente en Workbook.

Firmar digitalmente el proyecto VBA

Aspose.Cells for .NET 8.7.0 ha expuesto el método VbaProject.Sign que se puede utilizar parafirmar digitalmente el proyecto VBA en un libro de trabajo. Dicho método acepta una instancia de la clase DigitalSignature que reside en el espacio de nombres Aspose.Cells.DigitalSignatures.

El siguiente es el escenario de uso simple.

C#

 //Create an instance of Workbook

//Optionally load an existing spreadsheet

var book = new Workbook();

//Access the VbaProject from the Workbook

var vbaProject = book.VbaProject;

//Sign the VbaProject using the X509Certificate

vbaProject.Sign(new DigitalSignature(new System.Security.Cryptography.X509Certificates.X509Certificate2(cert), "Comments", DateTime.Now));
Detección de proyecto VBA firmado digitalmente

La propiedad VbaProject.IsSigned recién expuesta se puede usar paradetectar si el proyecto de VBA en un libro de trabajo está firmado digitalmente. La propiedad VbaProject.IsSigned es de tipo booleano, que devuelve verdadero si el proyecto de VBA está firmado digitalmente y viceversa.

El siguiente es el escenario de uso simple.

C#

 //Create an instance of Workbook and load an existing spreadsheet

var book = new Workbook(inFilePath);

//Access the VbaProject from the Workbook

var vbaProject = book.VbaProject;

//Check if VbaProject is digitally signed

if (vbaProject.IsSigned)

{

    Console.WriteLine("VbaProject is digitally signed");

}

else

{

    Console.WriteLine("VbaProject is not digitally signed");

}
Extracción de Firma Digital del Proyecto VBA

Esta revisión de API también ha expuesto la propiedad VbaProject.CertRawData que permiteextraer los datos sin procesar del certificado digital del proyecto VBA. La propiedad VbaProject.CertRawData es de tipo matriz de bytes, que contendrá los datos del certificado sin procesar si el proyecto VBA está firmado digitalmente; de lo contrario, dicha propiedad será nula.

El siguiente es el escenario de uso simple.

C#

 //Create an instance of Workbook and load an existing spreadsheet

var book = new Workbook(inFilePath);

//Access the VbaProject from the Workbook

var vbaProject = book.VbaProject;

//Extract digital signature in an array of bytes

var cert = vbaProject.CertRawData;
Validar la Firma Digital del Proyecto VBA

Otra adición al público API es la propiedad VbaProject.IsValidSigned que podría ser útil envalidando la firma digital del proyecto VBA. Dicha propiedad devuelve verdadero si la firma digital es válida y falso si la firma no es válida.

El siguiente es el escenario de uso simple.

C#

 //Create an instance of Workbook and load an existing spreadsheet

var book = new Workbook(inFilePath);

//Access the VbaProject from the Workbook

var vbaProject = book.VbaProject;

//Check if VbaProject is digitally signed

if (vbaProject.IsSigned)

{

    //Check if signature is valid

    if (vbaProject.IsValidSigned)

    {

        Console.WriteLine("VbaProject is digitally signed & signature is valid");

    }

}

Método Protection.VerifyPassword agregado

Aspose.Cells for .NET 8.7.0 ha expuesto el método Protection.VerifyPassword que se puede utilizar paraverificar la contraseña utilizada para proteger la hoja de trabajoEste método acepta una instancia de cadena como parámetro y devuelve verdadero si la contraseña especificada coincide con la contraseña utilizada para proteger la hoja de trabajo.

El siguiente es el escenario de uso simple.

C#

 //Create an instance of Workbook and load an existing spreadsheet

var book = new Workbook(inFilePath);

//Access the desired Worksheet via its index or name

var sheet = book.Worksheets[0];

//Access Protection module of desired Worksheet

var protection = sheet.Protection;

//Verify the password for Worksheet

if (protection.VerifyPassword(password))

{

    Console.WriteLine("Password has matched");

}

else

{

    Console.WriteLine("Password did not match");

}

Protección de propiedad. IsProtectedWithPassword agregado

Esta versión de Aspose.Cells for .NET API también ha expuesto la propiedad Protection.IsProtectedWithPassword que puede ser útil endetectar si una hoja de trabajo está protegida con contraseña o no.

El siguiente es el escenario de uso simple.

C#

 //Create an instance of Workbook and load an existing spreadsheet

var book = new Workbook(inFilePath);

//Access the desired Worksheet via its index or name

var sheet = book.Worksheets[0];

//Access Protection module of desired Worksheet

var protection = sheet.Protection;

//Check if Worksheet is password protected

if (protection.IsProtectedWithPassword)

{

    Console.WriteLine("Worksheet is password protected");

}

else

{

    Console.WriteLine("Worksheet is not password protected");

}

Propiedad ColorScale.Is3ColorScale agregado

Aspose.Cells for .NET 8.7.0 ha expuesto la propiedad ColorScale.Is3ColorScale que se puede usar para crear un formato condicional de escala de 2 colores. Dicha propiedad es de tipo booleano con valor predeterminado de verdadero, lo que significa que el formato condicional será de escala de 3 colores de forma predeterminada. Sin embargo, cambiar la propiedad ColorScale.Is3ColorScale a falsegenerar un formato condicional de escala de 2 colores.

El siguiente es el escenario de uso simple.

C#

 //Create an instance of Workbook

//Optionally load an existing spreadsheet

var book = new Workbook();

//Access the Worksheet to which conditional formatting rule has to be added

var sheet = book.Worksheets[0];

//Add FormatConditions to the collection

int index = sheet.ConditionalFormattings.Add();

//Access newly added formatConditionCollection via its index

var formatConditionCollection = sheet.ConditionalFormattings[index];

//Create a CellArea on which conditional formatting rule will be applied

var cellArea = CellArea.CreateCellArea("A1", "A5");

//Add conditional formatted cell range

formatConditionCollection.AddArea(cellArea);

//Add format condition of type ColorScale

index = formatConditionCollection.AddCondition(FormatConditionType.ColorScale);

//Access newly added format condition via its index

var formatCondition = formatConditionCollection[index];

//Set Is3ColorScale to false in order to generate a 2-Color Scale format

formatCondition.ColorScale.Is3ColorScale = false;

//Set other necessary properties

Propiedad TxtLoadOptions.HasFormula Agregada

Aspose.Cells for .NET 8.7.0 ha proporcionado soporte paraidentifique y analice las fórmulas mientras carga archivos CSV/TXT con datos simples delimitados. La propiedad TxtLoadOptions.HasFormula recién expuesta cuando se establece en verdadero dirige el API para analizar las fórmulas del archivo delimitado de entrada y establecerlas en celdas relevantes sin requerir ningún procesamiento adicional.

El siguiente es el escenario de uso simple.

C#

 //Create an instance of TxtLoadOptions

var options = new TxtLoadOptions();

//Set HasFormula property to true

options.HasFormula = true;

//Set the Separator property as desired

options.Separator = ',';

//Load the CSV/TXT file using the instance of TxtLoadOptions

var book = new Workbook(inFilePath, options);

//Calculate formulas in order to get the calculated values of formula in CSV

book.CalculateFormula();

//Write result in any of the supported formats

book.Save(outFilePath);

Propiedad DataLabels.IsResizeShapeToFitText agregado

Otra característica útil que ha expuesto Aspose.Cells for .NET 8.7.0 es la propiedad DataLabels.IsResizeShapeToFitText que puede habilitar laCambiar el tamaño de la forma para que se ajuste al textocaracterística de la aplicación Excel para las etiquetas de datos del gráfico.

El siguiente es el escenario de uso simple.

C#

 //Create an instance of Workbook containing the Chart

var book = new Workbook(inFilePath);

//Access the Worksheet that contains the Chart

var sheet = book.Worksheets[0];

//Access the desired Chart via its index or name

var chart = sheet.Charts[0];

//Access the DataLabels of desired NSeries

var labels = chart.NSeries[0].DataLabels;

//Set ResizeShapeToFitText property to true

labels.IsResizeShapeToFitText = true;

//Calculate Chart

chart.Calculate();

Propiedad PdfSaveOptions.OptimizationType agregado

Aspose.Cells for .NET 8.7.0 ha expuesto la propiedad PdfSaveOptions.OptimizationType junto con la enumeración PdfOptimizationType para facilitar a los usuarioselija el algoritmo de optimización deseado mientras exporta hojas de cálculo al formato PDF. Hay 2 valores posibles para la propiedad PdfSaveOptions.OptimizationType como se detalla a continuación.

  1. PdfOptimizationType.MinimumSize: la calidad se ve comprometida por el tamaño del archivo resultante.
  2. PdfOptimizationType.Standard: la calidad no se ve comprometida, por lo que el tamaño del archivo resultante será grande.

El siguiente es el escenario de uso simple.

C#

 //Create an instance of PdfSaveOptions

var pdfSaveOptions = new PdfSaveOptions();

//Set the OptimizationType property to desired value

pdfSaveOptions.OptimizationType = PdfOptimizationType.MinimumSize;

//Create an instance of Workbook

//Optionally load an existing spreadsheet

var book = new Workbook(inFilePath);

//Save the spreadsheet in PDF format while passing the instance of PdfSaveOptions

book.Save(outFilePath, pdfSaveOptions);

API eliminadas

Propiedad Workbook.SaveOptions Eliminado

La propiedad Workbook.SaveOptions se marcó como obsoleta hace algún tiempo. Con esta versión, se ha eliminado por completo del público API, por lo que se recomienda utilizar el método Workbook.Save(Stream, SaveOptions) o Workbook.Save(string, SaveOptions) como alternativa.