Completed
Last Updated: 16 Mar 2022 07:45 by ADMIN
Release R2 2022
When importing a document with an unclosed <br> element in the vmlDrawing part an exception is thrown: System.Xml.XmlException: 'The 'br' start tag on line 183 position 14 does not match the end tag of 'font'. Line 184, position 7.'

Completed
Last Updated: 16 Mar 2022 13:51 by ADMIN
Release R2 2022
Created by: Nicholas
Comments: 1
Category: SpreadProcessing
Type: Feature Request
1
In newer versions of EXCEL (2019 and later) the CONCAT function is introduced as a replacement of the old CONCATENATE function. It adds the ability to specify a range of cells when generating the resulting string in addition to its previously supported input arguments.
NOTE: In EXCEL starting from version 2019, CONCATENATE can no longer be inserted in the worksheet through the UI, it can only be used if you type it directly in the cell's contents.
Completed
Last Updated: 25 Mar 2022 13:46 by ADMIN
Release R2 2022
The attribute is lost when importing a document. This might lead to corrupting the macros. 
Completed
Last Updated: 13 Apr 2022 14:14 by ADMIN
Release R2 2022

Hello,

An exception is thrown when importing an xlsx file which has a comment that does not have an author. But the author may be null.

System.ArgumentException: 'author'

This exception was originally thrown at this call stack:
    Telerik.Windows.Documents.Spreadsheet.Utilities.Guard.ThrowExceptionIfNullOrEmpty(string, string)
    Telerik.Windows.Documents.Spreadsheet.Model.NoteCollection.Add(Telerik.Windows.Documents.Spreadsheet.Model.CellIndex, Telerik.Windows.Documents.Spreadsheet.Model.CellIndex, string, string)
    Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Contexts.XlsxWorksheetImportContext.ApplyNoteInfo(Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Contexts.NoteBase)
    Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Model.Elements.Comments.CommentElement.OnAfterRead(Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Import.IXlsxWorksheetImportContext)
    Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Model.Elements.Comments.CommentsElementBase.OnAfterRead(Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.Import.IXlsxWorkbookImportContext)
    Telerik.Windows.Documents.FormatProviders.OpenXml.Model.Elements.OpenXmlElementBase<TImportContext, TExportContext, TPartsManager>.OnAfterRead(Telerik.Windows.Documents.FormatProviders.OpenXml.Import.IOpenXmlImportContext)
    Telerik.Windows.Documents.FormatProviders.OpenXml.Model.Elements.OpenXmlElementBase.Read(Telerik.Windows.Documents.FormatProviders.OpenXml.IOpenXmlReader, Telerik.Windows.Documents.FormatProviders.OpenXml.Import.IOpenXmlImportContext)
    Telerik.Windows.Documents.FormatProviders.OpenXml.Model.Elements.OpenXmlElementBase.ReadChildElements(Telerik.Windows.Documents.FormatProviders.OpenXml.IOpenXmlReader, Telerik.Windows.Documents.FormatProviders.OpenXml.Import.IOpenXmlImportContext)
    Telerik.Windows.Documents.FormatProviders.OpenXml.Model.Elements.OpenXmlElementBase.Read(Telerik.Windows.Documents.FormatProviders.OpenXml.IOpenXmlReader, Telerik.Windows.Documents.FormatProviders.OpenXml.Import.IOpenXmlImportContext)
    Telerik.Windows.Documents.FormatProviders.OpenXml.Model.Elements.OpenXmlElementBase.ReadChildElements(Telerik.Windows.Documents.FormatProviders.OpenXml.IOpenXmlReader, Telerik.Windows.Documents.FormatProviders.OpenXml.Import.IOpenXmlImportContext)
    ...
    [Call Stack Truncated]

This is the code that can be used to reproduce the issue, according to your documentation:

        Workbook workbook;
        XlsxFormatProvider formatProvider = new XlsxFormatProvider();

        using (Stream input = new FileStream(_path, FileMode.Open))
        {
            workbook = formatProvider.Import(input);
        }

I have attached a document that got a comment without an author.

Completed
Last Updated: 16 Sep 2020 12:41 by ADMIN
Release R3 2020
Created by: Dimitar
Comments: 2
Category: SpreadProcessing
Type: Bug Report
1

To reproduce: 

- Add the following formula to a cell: "=A1=FALSE"

Actual: the result is always false

Expected: the result should be true when the cell is empty

 

Workaround: Use the ISBLANK function.

Unplanned
Last Updated: 26 Jun 2020 07:11 by ADMIN
The chart axes are not correctly imported when there are floating and sheet charts
Unplanned
Last Updated: 19 May 2022 12:32 by Rik

The values applied to the row/column should be explicitly set on each used cell as well. Otherwise, if they are applied on row/column only, the used cells don't use the desired values when opening the document.

To reproduce:

  1. Set some content on cell A1
  2. Create a row selection and apply a fill color to it (or any other property)
  3. Export the document and open it in an application

Observed: All cells except A1 have the specified color.

Workaround: Use cell selection, e.g.:

sheet.Cells[0,10].SetFill(PatternFill.CreateSolidFill(Colors.Red));

Completed
Last Updated: 26 May 2020 09:05 by ADMIN
Release LIB 2020.2.525 (05/25/2020)
Completed
Last Updated: 21 Jul 2023 13:27 by ADMIN
Release R3 2023
Text is cut off when exporting to pdf with a specific font.
Unplanned
Last Updated: 06 Jun 2022 09:31 by Patrick

For example:
Renaming a sheet named "Sheet1" to "Sheet 1", should update formulas references to it to 'Sheet 1!' (notice single quotes), which it does not. The formula =SUM(Sheet1!A2:C2) changes to the invalid expression =SUM(Sheet 1!A2:C2). This breaks formulas referencing that sheet.

Workaround:
Iterate all cells with formulas in the workbook and add single quotes to the beginning and end of sheet name reference. The attached project changes the name of Sheet1 and then fixes all formula references to it by enclosing its name in single quotes.

Unplanned
Last Updated: 15 Jun 2022 14:02 by Leigh
Invoking AutoFitWidth/AutoFitHeight in Blazor WASM takes too long time even for small documents.
Unplanned
Last Updated: 21 Jul 2022 12:11 by Guilhem
Comparing PDF documents exported by MS Excel and by SpreadProcessing shows slightly different sizes of the cells.
Unplanned
Last Updated: 14 Aug 2019 08:07 by ADMIN
Currently, row/column groups cannot be collapsed/expanded through the public API. User should be able to specify row's/column's "collapsed" attribute indicating whether the outlining is in a collapsed state.
Completed
Last Updated: 31 Oct 2023 15:33 by ADMIN
Release R3 2023 SP1
Created by: shashidhar
Comments: 0
Category: SpreadProcessing
Type: Bug Report
1

Filter Selection dialog appears on the screen. 

Workaround: Open the file with Excel and save it as a new document.

Unplanned
Last Updated: 18 Jun 2019 08:40 by ADMIN
Created by: olivier legaignoux
Comments: 0
Category: SpreadProcessing
Type: Feature Request
1
The COUNTIFS function returns the count of cells that meet one or more criteria.
Completed
Last Updated: 28 Jun 2022 13:16 by ADMIN
Release R3 2022
When an xls file with a large, but still valid column width is imported, an ArgumentException is thrown: "The maximum column width for an individual cell is 255 characters." 
Completed
Last Updated: 16 Oct 2019 12:50 by ADMIN
Release R3 2019 SP1
While importing the arguments of the data validation rule, the formula is treated as text and its separators are replaced with the list separator defined in the current culture. This leads to an invalid formula treated as a list of strings.
Unplanned
Last Updated: 19 Feb 2019 13:34 by ADMIN
Add support for Point Markes customization options for the Charts.
Unplanned
Last Updated: 11 Aug 2022 10:20 by Owen
In Excel, this is done by setting this option on the format cells dialog, the protection tab. It allows you to hide the formula when the sheet is protected. 
Completed
Last Updated: 07 Jul 2022 14:00 by ADMIN
Release R3 2022

Currently, similar conversions should be manually implemented by the users.

Sample method that could be used:

public static Color HexStringToColor(string hexColor)
{
    // Remove the # at the front.
    if (hexColor.StartsWith("#"))
    {
        hexColor = hexColor.Substring(1, hexColor.Length - 1);
    }

    byte a = 255;
    byte r = 255;
    byte g = 255;
    byte b = 255;

    int start = 0;

    // Handle ARGB strings (8 characters long).
    if (hexColor.Length == 8)
    {
        start = 2;
    }

    //Handle contracted RGB strings (3 characters long)
    if (hexColor.Length == 3)
    {
        hexColor = string.Format("{0}{0}{1}{1}{2}{2}", hexColor[0], hexColor[1], hexColor[2]);
    }
    else if (hexColor.Length < 6)
    {
        hexColor = hexColor.PadLeft(6, '0');
    }

    // Convert RGB characters to bytes.
    r = byte.Parse(hexColor.Substring(start, 2), NumberStyles.HexNumber);
    g = byte.Parse(hexColor.Substring(start + 2, 2), NumberStyles.HexNumber);
    b = byte.Parse(hexColor.Substring(start + 4, 2), NumberStyles.HexNumber);

    return Color.FromArgb(a, r, g, b);
}