Unplanned
Last Updated: 27 Aug 2024 08:33 by Waldemar
Unplanned
Last Updated: 08 Oct 2024 12:43 by ADMIN
Created by: DARS
Comments: 2
Category: SpreadProcessing
Type: Feature Request
1
At this point XLS import of SpreadProcessing does not have support for notes/comments.
Unplanned
Last Updated: 04 Dec 2024 12:18 by ADMIN
Created by: Andrew
Comments: 1
Category: SpreadProcessing
Type: Feature Request
1

Hello! I'd like to request that the WorksheetPrintOptions library be able to specify what duplex to print. This is regarding:

namespace Telerik.Windows.Documents.Spreadsheet.Model;

In Excel there are currently 3 options (for my printer):

Print One Sided
Print on Both Sides (pages flip on Long Edge)
Print on Both Sides (pages flip on Short Edge)

Currently at my company, in order to save paper the default for everyone's printers is Print on Both Sides (Long Edge). (Our printer, btw, is a Canon iR-ADV C3826 UFR II).

On a report I have created in Excel with Telerik, it's 3 pages but it's meant to clip onto a clipboard so it can't be double sided. So I would like the option to do this:

worksheet.WorksheetPageSetup.PrintOptions.Duplex = PrintOptionsDuplex.OneSided;

something like that. However you want to implement it is fine. Duplex may be the wrong word here. Maybe just .OneSided = true; or .BothSidesLong = true; or something. 

Anyhow, I think that would be handy for my particular instance, and I think printing both sided for most people might save a lot of paper too so it might benefit other situations as well.

For now, I will instruct my clients they have to just manually switch to One Sided each time the print this report.

Thanks!

Declined
Last Updated: 26 Dec 2024 06:35 by ADMIN

For the Telerik Spreadsheet control, XlsxFormatProvider.Export() API is used for saving the .xlsx file manually without the UI command(Save As dialog) invocation. This API is currently returning a byte stream.

The requirement is that the API should also intimate the user whether the export is successful or not by returning a boolean value.

Note: I think we can implement this requirement at the base level which is for the BinaryFormatProviderBase class or atleast at the FormatProviderBase class.

Completed
Last Updated: 12 Feb 2025 15:18 by ADMIN
Release 2025.1.205 (2025 Q1)

If I simply import the xls file with the XlsFormatProvider that RadSpreadProcessing offers and then export it either to xls or xlsx format, the following message pops up when opening the document in MS Excel:

The exported XLS or XLSX file with RadSpreadProcessing contains an additional <definedName>: 

<?xml version="1.0" encoding="utf-8"?>
<workbook xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
	<sheets>
		<sheet sheetId="1" name="Sheet1" state="visible" r:id="rId1" />
	</sheets>
	<definedNames>
		<definedName name="Print_Titles" localSheetId="0" hidden="false">Sheet1!$A$1:$IV$3</definedName>
		<definedName name="_xlnm.Print_Area" localSheetId="0" hidden="false">Sheet1!$A:$G</definedName>
		<definedName name="_xlnm.Print_Titles" localSheetId="0" hidden="false">Sheet1!$1:$3</definedName>
	</definedNames>
</workbook>

 

Completed
Last Updated: 22 May 2025 13:36 by ADMIN
Release 2025.2.520 (2025 Q2)
XlsFormatProvider: FormulaParseException is thrown when importing a document with formulas referencing non-existent named ranges.
Unplanned
Last Updated: 24 Jan 2025 08:12 by Christopher

Use the following code to create the document: 

            Workbook workbook = new Workbook();
            Worksheet graphWorksheet = workbook.Worksheets.Add();
            FloatingChartShape chartShape = new FloatingChartShape(graphWorksheet,
                                         new CellIndex(0, 0),
                                         new CellRange(0, 0, 0, 0), ChartType.Column)
            {
                Width = 500,
                Height = 500,
            };

            graphWorksheet.Charts.Add(chartShape);
            DocumentChart chart = new DocumentChart();
            BarSeriesGroup barSeriesGroup = new BarSeriesGroup();
            barSeriesGroup.BarDirection = BarDirection.Column;
            StringChartData barCategoryData = new StringChartData(new List<string>() { "1.1", "1.2", "1.3", "1.4", "2.1", "3.1", "4.1", "4.2", "4.3" });
            IEnumerable<double> percentEvidentList = new List<double>() { Math.Round((double)0.9914 * 100, 4) , Math.Round((double)0.7719 * 100, 4), Math.Round((double)1 * 100, 4)   };
            NumericChartData barValues = new NumericChartData(percentEvidentList);
            BarSeries series = new BarSeries();
            series.Categories = barCategoryData;
            series.Values = barValues;
            ThemableColor themableColor = ThemableColor.FromArgb(255, 125, 0, 125);

            series.Fill = new SolidFill(themableColor);
            series.Title = new TextTitle("FY 20");
            barSeriesGroup.Series.Add(series);
            chart.SeriesGroups.Add(barSeriesGroup);
            ValueAxis valueAxis = new ValueAxis();
            valueAxis.Min = 0;
            valueAxis.Max = 100;
            valueAxis.NumberFormat = "0%";
            CategoryAxis categoryAxis = new CategoryAxis(); 
            chart.PrimaryAxes = new AxisGroup(categoryAxis, valueAxis);

            chart.Legend = new Legend();
            chart.Legend.Position = LegendPosition.Left;

            chartShape.Chart = chart;
            valueAxis.NumberFormat = "0%";
            string outputFilePath = "SampleFile.xlsx";
            File.Delete(outputFilePath);
            IWorkbookFormatProvider formatProvider = new Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.XlsxFormatProvider();

            using (Stream output = new FileStream(outputFilePath, FileMode.Create))
            {
                formatProvider.Export(workbook, output, TimeSpan.FromSeconds(10));
            }
            Process.Start(new ProcessStartInfo() { FileName = outputFilePath, UseShellExecute = true });
Unplanned
Last Updated: 28 Mar 2025 10:03 by Pablo
Exporting XLS file with filters results in a corrupted document.
Unplanned
Last Updated: 15 Apr 2025 08:22 by Jonas
Expose the argument values of existing conditional formatting rules. Currently, the argument values from the SingleArgumentConditionalFormattingRule and DoubleArgumentConditionalFormattingRule classes are internal.
Unplanned
Last Updated: 15 Apr 2025 09:58 by Stefano
Created by: Stefano
Comments: 0
Category: SpreadProcessing
Type: Feature Request
1

The COUNTA function counts cells containing any type of information, including error values and empty text ("")

https://support.microsoft.com/en-us/office/counta-function-7dc98875-d5c1-46f1-9a82-53f3219e2509 

Completed
Last Updated: 22 May 2025 13:36 by ADMIN
Release 2025.2.520 (2025 Q2)
InvalidOperationException is thrown when a comment uses legacyDrawingHF element instead of legacyDrawing.
Unplanned
Last Updated: 20 May 2025 15:13 by Christopher
Add support for documents with unexpected text between child elements (e.g. ZWNBSP).
Unplanned
Last Updated: 12 Jun 2025 08:44 by Lorenzo
Created by: Lorenzo
Comments: 0
Category: SpreadProcessing
Type: Feature Request
1
Add support for Stock charts (StockChart).
Duplicated
Last Updated: 17 Jul 2025 10:41 by ADMIN

Here are the steps:

1. Copy some basic content from Excel (two text cells)

2. Paste the content to the Telerik Blazor Spreadsheet component and save the XLSX file

3. Try importing this file with RadSpreadProcessing

Unplanned
Last Updated: 17 Jul 2025 14:16 by Gilbert
Created by: Gilbert
Comments: 0
Category: SpreadProcessing
Type: Feature Request
1
Add support for the RANDBETWEEN function.
Unplanned
Last Updated: 31 Jul 2025 10:57 by Jonas

SEARCH function with the following format is valid only in Excel 365/2021 or later (with dynamic array support).
"=SEARCH({"Alpha","Beta","Gamma","Delta","Omega","Sigma","Zeta"}, "Omega")"

• It returns an array of numbers or errors, showing the position of each substring in "Omega".
• If a substring is found, you get its position (e.g., 1 for "Omega"); if not, you get #VALUE!.

Unplanned
Last Updated: 31 Jul 2025 11:12 by Jonas
Created by: Jonas
Comments: 0
Category: SpreadProcessing
Type: Feature Request
1

In Excel formulas, the double minus (--) is known as the "double unary operator." Its main purpose is to convert Boolean values (TRUE/FALSE) into numeric values (1/0).
How it works:
• TRUE becomes 1
• FALSE becomes 0
Example: Suppose you have an array formula like:

=SUM(--(B2:B20="Gamma"))

• (B2:B20="Gamma") produces an array of TRUE/FALSE.
• --(B2:B20="Gamma") converts that array to 1/0.
• SUM(...) then adds up the number of matches.

Some Excel functions (like SUM, SUMPRODUCT) require numbers, not Booleans.
The double unary is a concise way to force this conversion.

 

 

Unplanned
Last Updated: 12 Sep 2025 13:15 by Martin Ivanov
When the columns are using widths with too precise decimal values (ex: 150.33333333333334), the VisibleRange of ViewportPane reports wrong range in some situations. 

This causes issues when calculating element positions in a custom WorksheetUILayerBase in the context of RadSpreadsheet for WPF.
Declined
Last Updated: 25 Sep 2017 12:03 by ADMIN
When I need to populate a cell that I find using a DefinedName  I should parse RefersTo to get Worksheet name. But DefinedName class contains Scope property which has  CurrentWorksheet and Workbook properties (internal). It would be very useful if these properties could be public.