Aspose.Cells for .NET 17.02.0 Release Notes

KeySummaryCategory
CELLSNET-45049Trim blank rows and columns while exporting spreadsheets to CSV formatNew Feature 
CELLSNET-45069Bind Worksheet to a Customized Collection object (Aspose.Cells.GridWeb)New Feature 
CELLSNET-44787SortRange doesn’t have undo/redo feature (Aspose.Cells.GridDesktop) New Feature 
CELLSNET-44746Aspose.Cells.GridDesktop: Issue with Undo/Redo function when performing Cut/Copy/PasteNew Feature 
CELLSNET-44230Split Panes feature for Aspose.Cells.GridDesktopNew Feature 
CELLSNET-44416Auto-rename duplicate column names while exporting data to DataTableNew Feature 
CELLSNET-44363Utility method to retrieve all the fonts names in a workbookNew Feature 
CELLSNET-42687Get a list of Fonts used in a SpreadsheetNew Feature 
CELLSNET-45048The resultant PDF file is not PDFA1B compliant Enhancement 
CELLSNET-45099Waterfall and TreeMap charts, Series.getValues() should show values as displayEnhancement 
CELLSNET-45026CalculateFormula() method takes too long to returnPerformance
CELLSNET-45071CellsException: Out of memory, while converting Workbook to TIFFPerformance
CELLSNET-45067Conversion to PDF takes too longPerformance
CELLSNET-45105Loading HTML fails when CultureInfo is FrenchBug 
CELLSNET-45089HTML to Excel: Excel file is corruptBug 
CELLSNET-45072WordArt from the XLS do not render in HTMLBug 
CELLSNET-45053Certain HTML tags are not taken into account and some contents are missingBug 
CELLSNET-45039Mixed style rule does not take into account when rendering the HTML to ExcelBug 
CELLSNET-45036Contents after a tag are trimmed while importing HTML and converting to XLSXBug 
CELLSNET-45035Entire cell contents become bold when part of it is in between STRONG tagsBug 
CELLSNET-45033Cell contents are trimmed while importing HTMLBug 
CELLSNET-44336Unable to convert Html to XLSX properlyBug 
CELLSNET-45096After CalculateFormula() is called, the formula result is wrong Bug 
CELLSNET-45093SUMPRODUCT function is not workingBug 
CELLSNET-45085Calculated value of LOGNORM.DIST function is not correct in PDFBug 
CELLSNET-44740Custom DateTime pattern cannot be applied to GridColumnBug 
CELLSNET-45130Different outcome using Excel export PDF and Aspose.Cells save as PDFBug 
CELLSNET-45095Picture from the spreadsheet has not rendered to PDFBug 
CELLSNET-45075Hyperlinks from the spreadsheet are not being exported to PDFBug 
CELLSNET-45074Formatting issue in Excel to PDF renderingBug 
CELLSNET-450703D Pie Chart does not render while converting spreadsheet to PDF on MonoBug 
CELLSNET-41283PDF different when saved from Excel and Aspose.CellsBug 
CELLSNET-41196ToTiff function Issues - Extra column is displayedBug 
CELLSNET-41195ToTiff function Issues - Loss of DataBug 
CELLSNET-45097Chart loses formatting of labels after Workbook.CopyBug 
CELLSNET-45084Graph value is different while converting spreadsheet to PDFBug 
CELLSNET-45082Chart on tab Chart9 is changing after loading and saving source Excel fileBug 
CELLSNET-45066Shapes are horizontally compressed while converting spreadsheet to PDFBug 
CELLSNET-45064Axis labels are not rendered while converting spreadsheet to PDFBug 
CELLSNET-44842Label is missing when a chart is converted into imageBug 
CELLSNET-44410Rotated group of shapes mis-rendered to imageBug 
CELLSNET-45121Excel document is empty after resaveBug 
CELLSNET-45120Chart does not get calculated/refreshed correctly after deleting a rangeBug 
CELLSNET-45118Spreadsheet becomes corrupted after saving as XLSMBug 
CELLSNET-45107Textboxes missing after merging charts while combining workbooksBug 
CELLSNET-45104Change of LinkSource is creating doubled entriesBug 
CELLSNET-45101Changing the existing border’s style does not seem to workBug 
CELLSNET-45094Text position is changed after loading and saving XLSBug 
CELLSNET-45090Multi-tab sort order not saved after adding footerBug 
CELLSNET-45086Extra Checkbox and “Check Box” text appearing after resaving the Excel fileBug 
CELLSNET-45065Undesired cell borders added with simple load & save operationBug 
CELLSNET-45052Text position is changed after loading and saving the fileBug 
CELLSNET-44835System.NotImplementedException at WebWorksheet.CreateSubtotal methodException 
CELLSNET-45068Exception is thrown on loading the Excel fileException 
CELLSNET-45112When call Pictures.Clear(), then Save XLS, System.ArgumentOutOfRangeException occursException 
CELLSNET-45111When Save XLS, System.ArgumentOutOfRangeException occursException 
CELLSNET-45108System.NullReferenceException at Workbook ctor for XLSBException 
CELLSNET-45103Range.MoveTo() throws exceptionException 
CELLSNET-45088Exception when rendering a spreadsheet to PDF file formatException 
CELLSNET-45080Exception when loading an HTML file formatException 

Public API and Backwards Incompatible Changes

The following is a list of any changes made to the public API such as added, renamed, removed or deprecated members as well as any non-backward compatible change made to Aspose.Cells for .NET. If you have concerns about any change listed, please raise it in the Aspose.Cells support forum.

Added HTMLLoadOptions.AutoFitColsAndRows Property

This release of the Aspose.Cells for .NET API has added the HTMLLoadOptions.AutoFitColsAndRows property which indicates if the API should auto-fit columns and rows while importing the HTML in its object mode. The Boolean type property has the default value as false which means that the cell heights & widths will be imported as they are, however, when the aforementioned property is set to true, the API tries to adjust the column widths and row heights according the contents.

Here is the simple usage scenario of the HTMLLoadOptions.AutoFitColsAndRows property.

 // Create an instance of HTMLLoadOptions

var loadOptions = new HTMLLoadOptions();

// Set the AutoFitColsAndRows property to true

loadOptions.AutoFitColsAndRows = true;

// Create an instance of Workbook and load HTML while passing

// the object of HTMLLoadOptions class created above

var book = new Workbook(dir + "sample.htm", loadOptions);

Added LoadOptions.WarningCallback & WorkbookSettings.WarningCallback Properties

Aspose.Cells for .NET 17.02.0 has exposed the WarningCallback property to the LoadOptions and WorkbookSettings classes in order to get or set the warning callback. Developers have to implement the IWarningCallback interface in order to get custom warnings in their applications.

Here is a simple usage scenario of LoadOptions.WarningCallback property to get warnings when an input spreadsheet contains duplicate named ranges.

 public class WarningCallback : IWarningCallback

{

    public void Warning(WarningInfo warningInfo)

    {

        if (warningInfo.WarningType == WarningType.DuplicateDefinedName)

        {

            Console.WriteLine("Duplicate Defined Names Found as " + warningInfo.Description);

        }

    }

}

Here is how to use the custom class defined above.

 // Create an instance of LoadOptions class

var options = new LoadOptions();

// Set the WarningCallback property to custom class

options.WarningCallback = new WarningCallback();

// Load a sample spreadsheet in an instance of Workbook while 

// passing the object of LoadOptions class as defined above

var book = new Workbook(dir + "sample.xlsx", options);

Added Cells.TextToColumns Method

Latest revision of Aspose.Cells for .NET APIs have exposed the Cells.TextToColumns method in order to mimic the Excel’s Text to Columns feature. Excel provides this feature from Data Tools under the Data tab. Please note, in order to split the contents of a column to multiple columns, the data should contain a specific delimiter such as a comma (or any other character) based on which the API tries to split the contents of a cell to multiple cells.

Here is a simple usage scenario to demonstrate the usage of newly exposed API.

 // Create an instance of Workbook and load a sample

var book = new Workbook(dir + "sample.xlsx");

// Retrieve the cells collection of the first worksheet in the sample

var cells = book.Worksheets[0].Cells;

// Create an instance of TxtLoadOptions

var options = new TxtLoadOptions();

// Specify the separator

options.Separator = ',';

// Split the data in range B2:B4

cells.TextToColumns(1, 1, 3, options);

Added Workbook.GetFonts Method

Aspose.Cells for .NET 17.02.0 has exposed the GetFonts method for the Workbook class. The Workbook.GetFonts method returns the list of individual fonts used to format the cells contents of a given spreadsheet. The return type of the aforementioned method is an array of type Aspose.Cells.Font class.

Following code snippet demonstrates the usage of Workbook.GetFonts method.

 // Create an instance of Workbook and load a sample

var book = new Workbook(dir + "sample.xlsx");

// Retrieve the list of fonts used in spreadsheet

var fonts = book.GetFonts();

// Iterate the list and write font name

foreach (Aspose.Cells.Font font in fonts)

{

    Console.WriteLine(font.Name);

}

Added TxtSaveOptions.TrimLeadingBlankRowAndColumn Property

This revision of Aspose.Cells for .NET has exposed Boolean type TrimLeadingBlankRowAndColumn property for the TxtSaveOptions class that indicates whether leading blank rows and columns should be trimmed like Excel does while exporting data to CSV or Tab-delimited formats.The default value of aforementioned property is false. In case the data on the worksheet does not start from the first cell, that is: A1, the Excel application removes the leading blank rows and columns while exporting the data to CSV or Tab-delimited formats, however, Aspose.Cells APIs by default, retain the blank rows & columns for the same sample in order to keep the data location retained if the exported CSV or Tab-delimited files have to be imported back using Aspose.Cells APIs.

Here is a simple usage scenario of the TrimLeadingBlankRowAndColumn property.

 // Create an instance of Workbook and load a sample

var book = new Workbook(dir + "sample.xlsx");

// Create an instance of TxtSaveOptions

var options = new TxtSaveOptions();

// Set TrimLeadingBlankRowAndColumn property to true

options.TrimLeadingBlankRowAndColumn = true;

// Export to CSV format while removing the leading blank rows & columns

book.Save(dir + "output.csv", options);

Added BuiltInDocumentPropertyCollection.Revision Property & Obsoleted BuiltInDocumentPropertyCollection.RevisionNumber Property

Please use BuiltInDocumentPropertyCollection.Revision property instead.

Added Shape.TextShapeType Property

The Shape.TextShapeType property gets or sets the preset text shape type from a list of predefined types stored in AutoShapeType enumeration.

Added ExportTableOptions.RenameStrategy Property and RenameStrategy Enumeration

Aspose.Cells for .NET 17.02.0 has exposed the ExportTableOptions.RenameStrategy property along with the RenameStrategy enumeration in order to deal with scenario where first row of data to be exported contains duplicate entries. If the ExportTableOptions.ExportColumnName property is set to true, the API will cause exception indicating that a DataTable cannot have columns with same names. With new changes in place, the API allows to either append digits or letters to the duplicate column names whereas the appropriate value from the RenameStrategy enumeration decides how to rename the duplicate column names.

Here is a simple usage scenario demonstrating the newly exposed APIs.

 // Create an instance of Workbook

var book = new Workbook();

// Retrieve the cells collection of first worksheet

var cells = book.Worksheets[0].Cells;

// Insert similar values in first row

// These values will serve as column names while exporting to DataTable

cells["A1"].PutValue("Column A");

cells["B1"].PutValue("Column A");

cells["C1"].PutValue("Column A");

// Insert some more data that will serve as first row of DataTable

cells["A2"].PutValue("Value 1");

cells["B2"].PutValue("Value 2");

cells["C2"].PutValue("Value 3");

// Create an instance of ExportTableOptions

var options = new ExportTableOptions();

// Set ExportColumnName property to true so that the 

// first row of worksheet data becomes the columns names of DataTable

options.ExportColumnName = true;

// Set the renaming strategy to Letter, 

// indicating the the API will append letters to duplicate column names

options.RenameStrategy = RenameStrategy.Letter;

// Export the data to DataTable while using the object of ExportTableOptions class

var table = cells.ExportDataTable(0, 0, 2, 3, options);

Added GridDesktop.DoSplit & GridDesktop.UnDoSplit Methods

Aspose.Cells.GridDesktop for .NET 17.02.0 has provided two new methods that could either split the contents of the worksheet to panes or merge the existing panes.

Usage Examples

Please check the list of help topics added in the Aspose.Cells Wiki docs: 

  1. AutoFit Columns and Rows while loading HTML in Workbook
  2. Convert Text to Columns using Aspose.Cells
  3. Get a List of Fonts used in a Spreadsheet or Workbook
  4. Get Warnings while Loading Excel File
  5. Read and Manipulate Excel 2016 Charts
  6. Trim Leading Blank Rows and Columns while exporting spreadsheets to CSV format
  7. Binding Worksheet to a Customized Collection Object using GridWeb
  8. Rename duplicate columns automatically while exporting worksheet data
  9. Split Panes in GridDesktop Worksheet