Общедоступный API Изменения в Aspose.Cells 8.7.0

Добавлены API

Поддержка цифровой подписи, обнаружения и извлечения проектов VBA

В этом выпуске Aspose.Cells for .NET представлены некоторые новые свойства и методы, помогающие пользователям выполнять такие задачи, как цифровая подпись проекта VBA, определение того, подписан и действителен ли проект VBA. Более того, новый API позволяет извлекать сертификат в виде необработанных данных из проекта VBA с цифровой подписью в Workbook.

Цифровая подпись проекта VBA

Aspose.Cells for .NET 8.7.0 предоставил метод VbaProject.Sign, который можно использовать дляцифровая подпись проекта VBA в рабочей книге. Указанный метод принимает экземпляр класса DigitalSignature, который находится в пространстве имен Aspose.Cells.DigitalSignatures.

Ниже приведен простой сценарий использования.

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));
Обнаружение проекта VBA с цифровой подписью

Новое открытое свойство VbaProject.IsSigned можно использовать дляопределить, имеет ли проект VBA в рабочей книге цифровую подпись. Свойство VbaProject.IsSigned имеет логический тип и возвращает значение true, если проект VBA имеет цифровую подпись, и наоборот.

Ниже приведен простой сценарий использования.

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

}
Извлечение цифровой подписи из проекта VBA

Эта версия API также предоставляет свойство VbaProject.CertRawData, которое позволяетизвлечь необработанные данные цифрового сертификата из проекта VBA. Свойство VbaProject.CertRawData имеет тип массива байтов, который будет содержать необработанные данные сертификата, если проект VBA имеет цифровую подпись, в противном случае указанное свойство будет иметь значение null.

Ниже приведен простой сценарий использования.

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;
Проверка цифровой подписи проекта VBA

Другим дополнением к общедоступному API является свойство VbaProject.IsValidSigned, которое может быть полезно впроверка цифровой подписи проекта VBA. Указанное свойство возвращает true, если цифровая подпись действительна, и false, если подпись недействительна.

Ниже приведен простой сценарий использования.

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

    }

}

Добавлен метод Protection.VerifyPassword

Aspose.Cells for .NET 8.7.0 предоставил метод Protection.VerifyPassword, который можно использовать дляпроверьте пароль, используемый для защиты рабочего листаЭтот метод принимает экземпляр строки в качестве параметра и возвращает true, если указанный пароль совпадает с паролем, используемым для защиты рабочего листа.

Ниже приведен простой сценарий использования.

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

}

Добавлено свойство Protection.IsProtectedWithPassword.

В этом выпуске Aspose.Cells for .NET API также раскрыто свойство Protection.IsProtectedWithPassword, которое может быть полезно вопределение, защищен ли рабочий лист паролем или нет.

Ниже приведен простой сценарий использования.

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

}

Добавлено свойство ColorScale.Is3ColorScale

Aspose.Cells for .NET 8.7.0 предоставило свойство ColorScale.Is3ColorScale, которое можно использовать для создания условного формата 2-Color Scale. Упомянутое свойство имеет тип Boolean со значением по умолчанию true, что означает, что условный формат по умолчанию будет иметь 3-цветную шкалу. Однако при изменении свойства ColorScale.Is3ColorScale на falseсоздать условный формат 2-цветной шкалы.

Ниже приведен простой сценарий использования.

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

Добавлено свойство TxtLoadOptions.HasFormula

Aspose.Cells for .NET 8.7.0 предоставил поддержкуидентифицировать и анализировать формулы при загрузке файлов CSV/TXT, содержащих простые данные с разделителями. Недавно открытое свойство TxtLoadOptions.HasFormula, если для него задано значение true, указывает API анализировать формулы из входного файла с разделителями и устанавливать их в соответствующие ячейки без дополнительной обработки.

Ниже приведен простой сценарий использования.

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

Добавлено свойство DataLabels.IsResizeShapeToFitText

Еще одна полезная функция, представленная в версии Aspose.Cells for .NET 8.7.0, — это свойство DataLabels.IsResizeShapeToFitText, которое позволяетИзменение размера фигуры в соответствии с текстомфункция приложения Excel для меток данных диаграммы.

Ниже приведен простой сценарий использования.

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

Добавлено свойство PdfSaveOptions.OptimizationType.

Aspose.Cells for .NET 8.7.0 предоставило свойство PdfSaveOptions.OptimizationType вместе с перечислением PdfOptimizationType, чтобы облегчить пользователямвыбрать нужный алгоритм оптимизации при экспорте таблиц в формат PDF. Существует 2 возможных значения свойства PdfSaveOptions.OptimizationType, как описано ниже.

  1. PdfOptimizationType.MinimumSize: Качество скомпрометировано из-за результирующего размера файла.
  2. PdfOptimizationType.Standard: качество не страдает, поэтому результирующий размер файла будет большим.

Ниже приведен простой сценарий использования.

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

Свойство Workbook.SaveOptions удалено

Некоторое время назад свойство Workbook.SaveOptions было помечено как устаревшее. В этом выпуске он был полностью удален из общедоступного API, поэтому в качестве альтернативы рекомендуется использовать метод Workbook.Save(Stream, SaveOptions) или Workbook.Save(string, SaveOptions).