Unplanned
Last Updated: 08 Aug 2024 09:07 by ADMIN
The AutoFitWidth functionality does not take into account the filtering button.
Unplanned
Last Updated: 18 Jan 2022 14:05 by ADMIN

The named ranges are not updated after rows or columns are inserted.

Unplanned
Last Updated: 05 Apr 2022 09:38 by Monique
Created by: Monique
Comments: 0
Category: SpreadProcessing
Type: Feature Request
2
Introduce support for the WEEKDAY function.
Unplanned
Last Updated: 23 May 2022 13:16 by Tino
Implement NewLine property in the CsvSettings class.
Unplanned
Last Updated: 14 Jun 2022 19:29 by Luca

When a chart is created with RadSpreadProcessing, by default it is exported with legend showing category list. If an xlsx file with a chart with legend showing only series is imported and exported, it will be changed to category list as well. API to switch between the two should be added.

Legend showing category list:

Legend showing series:

Unplanned
Last Updated: 02 Aug 2022 09:12 by Henrik
Created by: Henrik
Comments: 0
Category: SpreadProcessing
Type: Feature Request
2
When inserting many values and formulas in a worksheet, it would be useful for the users to have the ability to delay the recalculation for better performance.
Unplanned
Last Updated: 04 Nov 2022 10:05 by Matthew

When a worksheet has a function of the type "=Indirect("A1")" and the value in A1 is edited, the result of the function is not updated. This, however, happens only after the file is imported. If the function is created through code or SetValueAsFormula is called after import, the function works as expected.

Workaround:

            CellRange usedCellRange = worksheet.UsedCellRange;

            for (int row = 0; row < usedCellRange.RowCount; row++)
            {
                for (int column = 0; column < usedCellRange.ColumnCount; column++)
                {
                    ICellValue cellValue = worksheet.Cells[row, column].GetValue().Value;
                    if (cellValue.ValueType == CellValueType.Formula)
                    {
                        worksheet.Cells[row, column].SetValue(cellValue);
                    }
                }
            }
Unplanned
Last Updated: 21 Jun 2023 10:56 by ADMIN
In the styles part of the xlsx file there is a cellXfs collection which contains xf elements. Each xf element has a numFmtId attribute which has to refer to an entry in the numFmts collection. Some libraries produce files with numFmtId's which are not valid but Excel handles such situations. SpreadProcessing throws KeyNotFoundException on import.
Unplanned
Last Updated: 13 Mar 2023 08:04 by Rich
Created by: Rich
Comments: 0
Category: SpreadProcessing
Type: Feature Request
2
Add support for structured references in tables.
Completed
Last Updated: 17 May 2023 11:34 by ADMIN
Release R2 2023
 Importing an XLS file causes NullReferenceException due to fill color.
Unplanned
Last Updated: 06 Jun 2024 14:29 by ADMIN
Created by: Brian
Comments: 4
Category: SpreadProcessing
Type: Feature Request
2
Add support for TEXT function. TEXT lets you change the way a number appears by applying formatting to it with format codes.

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
Unplanned
Last Updated: 20 Oct 2023 08:26 by Michael
Created by: Michael
Comments: 0
Category: SpreadProcessing
Type: Feature Request
2

Implement a GoalSeek functionality.

 

Declined
Last Updated: 26 Jan 2024 12:10 by ADMIN

In WorksheetPageSetup, you can only get the PageSize, but not set it. The only way is through setting a PaperType.

 

This is because in Telerik.Windows.Documents.Spreadsheet.Model.Printing.SheetPageSetupBase, the only way to set the pageSize property is by setting a PaperType, then it uses PaperTypeConverter.ToSize(PaperType) to convert it to the pageSize. I cannot see any other way to set this to a custom size set by the user.

 

Please allow custom page sizing by adding a setter for the PageSize if possible. Thank you!

 


WorksheetPageSetup pageSetup = worksheet.WorksheetPageSetup;
Size pageSize = new Size(50, 80)
pageSetup.PageSize = pageSize; // produces cs0200
pageSetup.PageSize.Width = pageSize.Width; // produces cs1612
pageSetup.PageSize.Height = pageSize.Height; // produces cs1612

Completed
Last Updated: 02 Aug 2024 11:09 by ADMIN
Release 2024.3.802 (2024 Q3)

Incorrect calculation of UsedCellRange when conditional formatting is applied to a large cell range.

Workaround:

var usedCellRange = workbook.ActiveWorksheet.GetUsedCellRange(
    CellPropertyDefinitions.AllPropertyDefinitions
    .Except(
        CellPropertyDefinitions.AllPropertyDefinitions.Where(p => p.Name == "DataValidationRule" || p.Name == "ConditionalFormatting")));

 

Unplanned
Last Updated: 30 Apr 2024 13:44 by ADMIN
If the conditional formatting is missing, the copy operation is executed with no errors.
Unplanned
Last Updated: 19 Apr 2024 08:44 by Noe
Created by: Noe
Comments: 0
Category: SpreadProcessing
Type: Feature Request
2
Add support for R1C1 formula style.
Completed
Last Updated: 13 Nov 2024 08:50 by ADMIN
Release 2024.4.1106 (Q4 2024)
Built-in number formats are not reevaluated after changing the culture.
Unplanned
Last Updated: 19 Nov 2024 16:27 by ADMIN

Currently, the chart is generated considering the format applied to the cells. Thus, when the decimal part is clipped, duplicated values may occur and the developer doesn't have the option to update it:

This is the code:

            Workbook workbook = new Workbook();
            Worksheet worksheet = workbook.Worksheets.Add();

            List<string> categories = new List<string> { "New", "In Progress", "Ready for Test", "Done", "Declined" };
            worksheet.Cells[0, 0].SetValue("New");
            worksheet.Cells[0, 1].SetValue(1);
            worksheet.Cells[0, 2].SetValue(2.5);
            worksheet.Cells[1, 0].SetValue("In Progress");
            worksheet.Cells[1, 1].SetValue(2.8);
            worksheet.Cells[1, 2].SetValue(0);
            worksheet.Cells[2, 0].SetValue("Ready for Test");
            worksheet.Cells[2, 1].SetValue(2);
            worksheet.Cells[2, 2].SetValue(1);
            worksheet.Cells[3, 0].SetValue("Done");
            worksheet.Cells[3, 1].SetValue(1.4);
            worksheet.Cells[3, 2].SetValue(0);
            worksheet.Cells[4, 0].SetValue("Declined");
            worksheet.Cells[4, 1].SetValue(3);
            worksheet.Cells[4, 2].SetValue(0);

            

            FloatingChartShape chartShape = new FloatingChartShape(worksheet, new CellIndex(5, 5), new CellRange(0, 0, 4, 2),ChartType.Column)
            {
                Width = 400,
                Height = 250
            };

            worksheet.Charts.Add(chartShape);

            CellSelection cellSelection = worksheet.Cells[new CellIndex(0, 1), new CellIndex(4, 2)];
            CellValueFormat specialFormat = new CellValueFormat("0");
            cellSelection.SetFormat(specialFormat);

            string outputFilePath = "SampleFile.xlsx";

            Telerik.Windows.Documents.Spreadsheet.FormatProviders.IWorkbookFormatProvider formatProvider = new Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.XlsxFormatProvider();

            using (Stream output = new FileStream(outputFilePath, FileMode.Create))
            {
                formatProvider.Export(workbook, output);
            }
            Process.Start(new ProcessStartInfo() { FileName = outputFilePath, UseShellExecute = true });

The requires options are setting the major/minor units for the axis:

Unplanned
Last Updated: 25 Sep 2017 13:56 by ADMIN
Now there is no public API that allows the users to check if a Worksheet is empty or not. The UsedCellRange property returns a cell range that is only the cell A1 even if it is empty too.

Possible solution is to expose IsEmpty property of the CellRange.

Workaround: Check if Worksheet.UsedCellRange contains only A1, and that additionally A1 is empty.
Unplanned
Last Updated: 26 Sep 2017 06:49 by ADMIN
The value of Worksheet.UsedCellRange could be calculated during the import of the workbook - as all cells are processed anyway. This will improve the performance of the first usage of this property, which is very common scenario. Also xlsx documents can have optional 'dimension' element which is used to specify the used cell range:

<dimension ref="A1:C2"/>.