Cambios en la API Pública en Aspose.Cells 8.7.0
APIs Añadidas
Soporte para Firma Digital, Detección y Extracción de Proyectos VBA
Esta versión de Aspose.Cells for .NET ha expuesto algunas nuevas propiedades y métodos para ayudar a los usuarios en tareas como firmar digitalmente un proyecto VBA, detectar si un proyecto VBA está firmado y es válido. Además, la nueva API permite extraer el certificado como datos sin procesar de un proyecto VBA firmado digitalmente en un libro de trabajo.
Firmar Digitalmente un Proyecto VBA
Aspose.Cells for .NET 8.7.0 ha expuesto el método VbaProject.Sign que se puede utilizar para firmar digitalmente el proyecto VBA en un libro de trabajo. El mencionado método acepta una instancia de la clase DigitalSignature que reside en el espacio de nombres Aspose.Cells.DigitalSignatures.
A continuación se muestra un 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 nueva propiedad VbaProject.IsSigned expuesta puede usarse para detectar si el proyecto VBA en un libro de trabajo está firmado digitalmente. La propiedad VbaProject.IsSigned es de tipo booleano, que devuelve true si el proyecto VBA está firmado digitalmente y viceversa.
A continuación se muestra un 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 de Proyecto VBA
Esta revisión de la API también ha expuesto la propiedad VbaProject.CertRawData que permite extraer los datos sin procesar del certificado digital del proyecto VBA. La propiedad VbaProject.CertRawData es de tipo matriz de bytes, que contendrá los datos sin procesar del certificado si el proyecto VBA está firmado digitalmente; de lo contrario, dicha propiedad será nula.
A continuación se muestra un 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 a la API pública es la propiedad VbaProject.IsValidSigned que podría ser útil para validar la firma digital del proyecto VBA. Dicha propiedad devuelve true si la firma digital es válida y false si la firma es inválida.
A continuación se muestra un 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");
}
}
Agregado el Método Protection.VerifyPassword
Aspose.Cells for .NET 8.7.0 ha expuesto el método Protection.VerifyPassword que se puede utilizar para verificar la contraseña utilizada para proteger la hoja de cálculo. Este método acepta una instancia de cadena como parámetro y devuelve true si la contraseña especificada coincide con la contraseña utilizada para proteger la hoja de cálculo.
A continuación se muestra un 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");
}
Agregada la Propiedad Protection.IsProtectedWithPassword
Esta versión de Aspose.Cells for .NET API también ha expuesto la propiedad Protection.IsProtectedWithPassword que puede ser útil para detectar si una hoja de cálculo está protegida con contraseña o no.
A continuación se muestra un 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 Added ColorScale.Is3ColorScale
Aspose.Cells for .NET 8.7.0 ha expuesto la propiedad ColorScale.Is3ColorScale que puede usarse para crear formato condicional de Escala de 2 Colores. Dicha propiedad es de tipo Boolean con un valor predeterminado de true, lo que significa que el formato condicional será de Escala de 3 Colores por defecto. Sin embargo, cambiar la propiedad ColorScale.Is3ColorScale a false generará un formato condicional de Escala de 2 Colores.
A continuación se muestra un 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 Agregada TxtLoadOptions.HasFormula
Aspose.Cells for .NET 8.7.0 ha proporcionado soporte para identificar y analizar fórmulas mientras se cargan archivos CSV/TXT con datos delimitados. La propiedad recién expuesta TxtLoadOptions.HasFormula, cuando se establece en true, indica a la API que analice las fórmulas del archivo delimitado de entrada y las establezca en las celdas relevantes sin requerir ningún procesamiento adicional.
A continuación se muestra un 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 agregada
Otra característica útil que Aspose.Cells for .NET 8.7.0 ha expuesto es la propiedad DataLabels.IsResizeShapeToFitText que puede habilitar la función Redimensionar forma para ajustar el texto de la aplicación Excel para las etiquetas de datos del gráfico.
A continuación se muestra un 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 agregada
Aspose.Cells for .NET 8.7.0 ha expuesto la propiedad PdfSaveOptions.OptimizationType junto con la enumeración PdfOptimizationType para facilitar a los usuarios elegir el algoritmo de optimización deseado al exportar hojas de cálculo a formato PDF. Hay 2 valores posibles para la propiedad PdfSaveOptions.OptimizationType como se detalla a continuación:
- PdfOptimizationType.MinimumSize: La calidad se ve comprometida por el tamaño del archivo resultante.
- PdfOptimizationType.Standard: La calidad no se ve comprometida, por lo que el tamaño del archivo resultante será grande.
A continuación se muestra un 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);
APIs Eliminadas
Propiedad Workbook.SaveOptions eliminada
La propiedad Workbook.SaveOptions fue marcada como obsoleta hace algún tiempo. Con esta versión, ha sido completamente eliminada de la API pública, por lo tanto, se recomienda utilizar el método Workbook.Save(Stream, SaveOptions) o Workbook.Save(string, SaveOptions) como alternativa.