For all characters which cannot be represented in XML as defined by the XML 1.0 specification, the characters are escaped using the Unicode numerical character representation escape character format _xHHHH_, where H represents a hexadecimal character in the character's value. This is dedined in the OpenXML specification in 22.9.2.19 ST_Xstring (Escaped String). Currently this causes the following issues: - Documents conaining such characters are imported incorrectly, e.g. <si><t>_x001B_</t></si> is imported as the plain text _x001B_ - ArgumentException with clarification similar to "' ', hexadecimal value 0x1B, is an invalid character." is thrown when trying to export such documents. Example code to reproduce: Workbook workbook = new Workbook(); Worksheet worksheet = workbook.Worksheets.Add(); CellSelection selection = worksheet.Cells[1, 1]; //B2 cell selection.SetValue(string.Format("Error Value: {0} ", Encoding.ASCII.GetString(new byte[] { 27 }))); string fileName = @"D:\temp\SampleFile.xlsx"; IWorkbookFormatProvider formatProvider = new XlsxFormatProvider(); using (FileStream output = new FileStream(fileName, FileMode.Create)) { formatProvider.Export(workbook, output); }
Formulas like =0.0001/10 or formulas that produce small values results in 0 instead of exponential numbers. Available in LIB version: 2017.1.313
Such objects are defined as oleObject elements in the XML. Currently, they are skipped on import.
ArgumentException with clarification similar to "'\u001f', hexadecimal value 0x1F, is an invalid character." is thrown when trying to export document containing characters which are not supported in XML document - such as some control characters like 0x00, 0x1F, 0x1B, etc. Such characters are described in the XML specification here: https://www.w3.org/TR/xml/#charsets. Although the escaped strings are not supported (see https://feedback.telerik.com/Project/184/Feedback/Details/190228 ), the library could prevent the exception and export the document successfully by skipping such characters. Workaround: remove such characters before the export. Check the following StackOverflow answer for some ideas on code for replacing the characters: http://stackoverflow.com/a/14323524/259206 Fix available in R3 2018 SP1 release.
When a workbook (xlsx) contains a worksheet where some of the columns have width, bigger than the value written in the SpreadsheetDefaultValues (2000) an exception during the import is thrown.
Provide an option to change the display mode of the Worksheet to right-to-left.
From the OOXML Specification: A comment is a rich-text note that is attached to and associated with a cell, separate from other cell content.
In Office 365 there are two types of comments:
This item applies to Comments/Notes only.
For Threaded Comments, please follow: SpreadProcessing: Comments (Threaded Comments)
Implement SMALL function (https://support.office.com/en-us/article/SMALL-function-17da8222-7c82-42b2-961b-14c45384df07 ), which returns k-th smallest value from a range: SMALL(array, k) Workaround: This could be implemented as a custom function: http://docs.telerik.com/devtools/document-processing/libraries/radspreadprocessing/features/formulas/custom-functions.html
Comparison operators (equal '=', not equal '<>') doesn't work as expected with references to empty cells. For example, expressions of type '=IF(A1="", TRUE, FALSE)' are evaluated to false when A1 cell is empty. In MS Excel, such expression is evaluated to TRUE if the cell is empty - i.e. empty cell value is considered equal to an empty string "". Workaround: Use ISBLANK function if possible. Its results are consistent with MS Excel.
The MATCH function searches for a specified item in a range of cells and returns the relative position of the item found in this range. A list of the supported functions is available at http://docs.telerik.com/devtools/document-processing/libraries/radspreadprocessing/features/formulas/functions This function can be implemented as a custom function. Check the following resources for more details on how to achieve that: - http://docs.telerik.com/devtools/document-processing/libraries/radspreadprocessing/features/formulas/custom-functions - https://github.com/telerik/xaml-sdk/tree/master/Spreadsheet/CustomFunctions Available in R3 2017 Official Release Version
When the spreadsheet contains empty rows and the format of some cells is set the rows are still exported to pdf or printed.
To workaround this set the print area with the following code:
IPropertyDefinition[] propertyDefinitionsAffectiingPringing = new IPropertyDefinition[] { CellPropertyDefinitions.ValueProperty };
CellRange usedCellRange = workbook.Worksheets[0].GetUsedCellRange(propertyDefinitionsAffectiingPringing);
workbook.Worksheets[0].WorksheetPageSetup.PrintArea.SetPrintArea(usedCellRange);
Generating document which consists of merged cells in a row and some values then inserting a row on the top and then exporting the document or setting it to the RadSpreadsheet causes wrong merged cells. If the generation is done on a workbook which is already set to the RadSpreadsheet everything is OK. Workaround: The document can be exported and then imported again before the row is inserted.