Document Solutions for Excel, .NET Edition 7.1.0
Released: Apr 17, 2024
7.1.0 での更新項目
機能
- Template Enhancements
- Enhanced Template language with better performance - The DsExcel Templates have been refactored, emphasizing enhanced performance and stability. The recent improvements include:
- Addressing the absence of a data source by treating it as null.
- Enabling OverwriteFillFormat functionality to seamlessly operate in both Pagination and non-Pagination modes.
- Enhancing template processing capabilities to include support for Picture and Shapes.
- Enhanced Template performance when processing templates with merged cells.
- Ensuring the seamless continuation of features from the old template design without introducing any breaking changes.
- Custom sort order and multi-column sorting - DsExcel Templates have long supported the sorting of template data using syntax to define the sort direction in template cells. Nevertheless, there is a practical need to sort cells based on the values of other cells and additionally incorporate the capability to sort data using multiple cell values. In response to this need, DsExcel broadens the syntax by enabling the inclusion of multiple sort conditions simultaneously rather than executing the template multiple times with different sort conditions. Supported scenarios include:
- Sort a column based on the ascending/descending order of other column.
- Sort a column based on the ascending/descending order of the other column and further on the ascending/descending order of the third column.
- Sort a column based on a specified sequence of data.
- Support for interrupting the execution of the ProcessTemplate method - In instances where the execution of the processTemplate method extends for a prolonged period due to a large volume of data or without a clear understanding of the underlying cause, there is a delay in showcasing the populated data. DsExcel now supports interrupting the processTemplate method by calling Workbook.ProcessTemplate(CancellationToken) overload that accepts CancellationToken as a parameter.
- There are three ways in which you can interrupt the template processing:
- Use CancellationTokenSource.Cancel to request for cancellation immediately.
- Use CancellationTokenSource.CancelAfter to request for cancellation after the specified delay time.
- Use CancellationTokenSource.Dispose to release resources.
- The Workbook.ProcessTemplate method will throw an OperationCanceledException under the following conditions:
- The CancellationTokenSource associated with CancellationToken has initiated a cancellation request.
- The internal data structures of Workbook.ProcessTemplate remain in a consistent state, ensuring the workbook object's safe use when handling the cancellation request.
- Workbook.ProcessTemplate is actively engaged in its processing tasks.
- In the event of an exception, the caller is responsible for deciding whether to accept the partially expanded template or revert to the previous state. If the decision is to revert, the caller must serialize the workbook before invoking the Workbook.ProcessTemplate method, subsequently deserializing the workbook after canceling the operation.
- CalculationMode Options - Introduced the Workbook.Options.Formulas.CalculationMode property. This property allow you to set one of the calculation mode enums on the worksheet, providing control over formula calculation when the worksheet is opened.
- The property supports the following enums:
- Automatic: Executes all calculations.
- Semiautomatic: Performs calculations for everything except Data Tables and Python formulas.
- Manual: Does not perform any calculations.
- The property is supported during Excel I/O, SpreadJS I/O, and SSJSON I/O.
- Support Table Reference in Cross Workbook Formulas - In large and complex Excel files, it is typical for formulas to incorporate references to data in other workbooks, whether internal or external. The conventional method of manually opening external workbooks, copying data, and integrating it into the Excel file is unnecessary. Instead, a more efficient approach involves directly referencing the data in the external workbook. In this release, DsExcel supports referencing external workbooks with the Table formula.
- Ignore Errors in Range - To empower users to bypass errors and prevent the display of the green triangle at the top-left corner of a cell in Excel, DsExcel has introduced the IgnoredError property within the IRange interface. This property, coupled with the IgnoredErrorType enumeration, allows users to dismiss errors like invalid formula results, numbers stored as text, inconsistent formulas in adjacent cells, and more, selectively within a specific cell range in Excel.
- Export Barcodes as Pictures in Excel Files - It is now feasible to preserve Excel files containing barcodes generated from SpreadJS or DsExcel. DsExcel has added the Workbook.ConvertBarcodeToPicture(ImageType) method, enabling the conversion of barcodes to images across all worksheets for seamless storage in Excel files, eliminating the occurrence of '#Ref' values. In cases where no ImageType parameter is explicitly specified, the default is set to the SVG image type.
- Search Cells with Tags - DsExcel has been supporting the Tag property, which functions exclusively with SpreadJS. This property can be affixed to cells, rows, columns, or sheets containing specific types of data, along with options and suggestions pertaining to that data. Additionally, you can import/export a tag with uncomplicated data using SSJSON. In this release, DsExcel has introduced the SpecialCellType.Tags and IRange.SpecialCells(SpecialCellType.Tags) overload, facilitating the identification of cells with tags within a designated range.
- SpreadJS Compatibility Features - DsExcel integrates additional SpreadJS features, improving compatibility with the client-side SpreadJS product. It's essential to highlight that these new features function exclusively with SpreadJS and are incompatible with Microsoft Excel.
- Get and set cell background images.
- Support lossless .sjs/ssjson I/O of GanttSheet.
- Support lossless .sjs/ssjson I/O of ReportSheet.