Aspose.Cells 8.7.0の公開API変更

APIの追加

VBAプロジェクトのデジタル署名、検出、および抽出のサポート

このリリースのAspose.Cells for .NETでは、ユーザーがVBAプロジェクトにデジタル署名を行ったり、VBAプロジェクトが署名されているかどうかを検出したり、有効かどうかを確認したりするための新しいプロパティやメソッドがいくつか公開されています。さらに、新しいAPIでは、署名されたVBAプロジェクトから証明書を生データとして抽出することもできます。

VBAプロジェクトにデジタル署名

Aspose.Cells for .NET 8.7.0では、VbaProject.Signメソッドが公開され、ワークブック内のVBAプロジェクトにデジタル署名するために使用できます。このメソッドは、Aspose.Cells.DigitalSignaturesネームスペースに属するDigitalSignatureクラスのインスタンスを受け入れます。

以下はシンプルな使用シナリオです。

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プロパティはブール型で、VBAプロジェクトがデジタルで署名されている場合はtrueを返し、その逆も同様です。

以下はシンプルな使用シナリオです。

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へのもう1つの追加は、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では、Worksheetを保護するために使用されるパスワードを検証するメソッドProtection.VerifyPasswordが公開されました。このメソッドは、stringのインスタンスをパラメーターとして受け入れ、指定されたパスワードがWorksheetを保護するために使用されたパスワードと一致する場合は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");

}

Added ColorScale.Is3ColorScale Property

Aspose.Cells for .NET 8.7.0では、ColorScale.Is3ColorScaleプロパティも公開され、2-Color Scale条件付き書式を作成するために使用することができます。該当するプロパティはデフォルト値がtrueのBoolean型であり、これは条件付き書式がデフォルトで3-Color Scaleになることを意味します。ただし、ColorScale.Is3ColorScaleプロパティをfalseに切り替えると、2-Color Scale条件付き書式が生成されます

以下はシンプルな使用シナリオです。

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

Added TxtLoadOptions.HasFormula Property

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が公開したもう1つの有用な機能は、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形式にエクスポートする際に希望する最適化アルゴリズムを選択できるようになりました。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)メソッドを使用することが推奨されています。