Unplanned
Last Updated: 13 Sep 2018 12:11 by ADMIN
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.
Unplanned
Last Updated: 07 Sep 2018 14:16 by ADMIN
Most often, the print area will be defined in the Workbook part like so:
<definedName name="_xlnm.Print_Area" localSheetId="3">Data!$A$1:$L$7</definedName>

Sometimes, however, it can be a function instead:
<definedName name="_xlnm.Print_Area" localSheetId="0">OFFSET('Parametrový List'!$A$1,0,0,INDEX({77,148},PocetStran),34)</definedName>
At the moment, the second option is not supported.
Unplanned
Last Updated: 07 Sep 2018 14:07 by ADMIN
ADMIN
Created by: Anna
Comments: 0
Category: SpreadProcessing
Type: Feature Request
2
The OFFSET function returns a reference to a range that is a specified number of rows and columns from a cell or range of cells. 
Unplanned
Last Updated: 05 Sep 2018 14:44 by ADMIN
When the scale factor of a document is smaller, the borders don't seem to scale correctly when exported to PDF. They appear much thicker than they would when exported from Excel.
Unplanned
Last Updated: 30 Aug 2018 08:04 by ADMIN
When a worksheet has name that has spaces and a hyperlink to this worksheet is being inserted in Excel, quotes are used to surround the name (ex: 'Sheet 12'!A1) for a valid hyperlink. If quotes are not added, the hyperlink is invalid.
In RadSpreadsheet, it is the opposite: (Sheet 12!A1 is correct, while 'Sheet 12'!A1 is incorrect).
Thus, opening such an exported document from RadSpreadsheet in Excel loads it with incorrect hyperlinks; and importing such an Excel document in RadSpreadsheet loads it with incorrect hyperlinks.

A way to workaround this issue is to modify the hyperlinks on import/export from/to RadSpreadsheet. You can find attached a project demonstrating this approach.
Declined
Last Updated: 30 Aug 2018 04:53 by ADMIN
The format string for dates should be in lowercase so they can work as expected. Ensure this in the internal logic.
Unplanned
Last Updated: 22 Aug 2018 13:14 by ADMIN
When a format code like "General" x"" is applied on e.g. 1, the result is "1 x". At the moment, the result with Spreadprocessing is "General x"
Unplanned
Last Updated: 21 Aug 2018 10:56 by ADMIN
Having cell with custom format string set to "MMM" does not apply correctly. Instead of showing the date in the defined format (for instance "Aug"), what actually is displayed is "MMM".
Completed
Last Updated: 17 Aug 2018 06:27 by Tim
ADMIN
Created by: Tanya
Comments: 7
Category: SpreadProcessing
Type: Feature Request
20
This will enable printing with the following printing options: 

- Fit Sheet on One Page

- Fit All Columns on One Page

- Fit All Rows on One Page

- Custom automatic scaling


A possible implementation of a similar behavior is to use the PageSize property of WorksheetPageSetup and subtract the corresponding margin values (from the Margins property) from the width to calculate how many columns are fitting in some particular page size with 100% scale factor. 

Available in R2 2018 Official Release version.
Unplanned
Last Updated: 14 Aug 2018 07:49 by ADMIN
ADMIN
Created by: Dinko | Tech Support Engineer
Comments: 0
Category: SpreadProcessing
Type: Feature Request
7
Provide the customers with the ability to export workbooks to HTML files.
Unplanned
Last Updated: 31 Jul 2018 07:27 by ADMIN
When the automatic scaling options FitToColumns and FitToRows are used, the vertical and horizontal breaks, respectively, should be ignored.

Workaround:

Remove the page breaks if the worksheet uses automatic scaling and restore them if necessary:

        public void ExcelToPdf(string path)
        {
            var provider = new XlsxFormatProvider();
            using (Stream input = File.OpenRead(path))
            {
                var workbook = provider.Import(input);

                this.CachePageBreaks(workbook);

                var pdfProvider = new PdfFormatProvider();
                pdfProvider.ExportSettings = new PdfExportSettings(ExportWhat.EntireWorkbook, false);
                using (Stream output = File.Open(@"C:\Users\velcheva\Desktop\26293903-c650-4d28-adee-58a542651f72_exceltopdf\exported.pdf", FileMode.Create))
                {
                    pdfProvider.Export(workbook, output);
                }

                this.RestorePageBreaks(workbook);
            }
        }

        private Dictionary<Worksheet,List<PageBreak>> verticalPageBreaksCache;

        private void CachePageBreaks(Workbook workbook)
        {
            this.verticalPageBreaksCache = new Dictionary<Worksheet, List<PageBreak>>();

            foreach (Worksheet worksheet in workbook.Worksheets)
            {
                WorksheetPageSetup pageSetup = worksheet.WorksheetPageSetup;

                if (pageSetup.FitToPages)
                {
                    this.verticalPageBreaksCache[worksheet] = new List<PageBreak>(pageSetup.PageBreaks.VerticalPageBreaks);
                    
                    if(pageSetup.FitToPagesWide != 0)
                    {
                        List<PageBreak> breaksToRemove = new List<PageBreak>();
                        breaksToRemove.AddRange(pageSetup.PageBreaks.VerticalPageBreaks);

                        breaksToRemove.ForEach((br) => pageSetup.PageBreaks.TryRemoveVerticalPageBreak(0, br.Index));
                    }

                    // Record the horizontal page breaks if necessary.
                }
            }
        }

        private void RestorePageBreaks(Workbook workbook)
        {
            foreach (Worksheet worksheet in workbook.Worksheets)
            {
                WorksheetPageSetup pageSetup = worksheet.WorksheetPageSetup;

                if (pageSetup.FitToPages)
                {
                    List<PageBreak> cachedbreaks = this.verticalPageBreaksCache[worksheet];

                    if (pageSetup.FitToPagesWide != 0)
                    {
                        foreach (var pageBreak in cachedbreaks)
                        {
                            pageSetup.PageBreaks.TryInsertVerticalPageBreak(0, pageBreak.Index);
                        }
                    }

                    // Restore the horizontal page breaks if necessary.
                }
            }
        }
Unplanned
Last Updated: 03 Jul 2018 13:11 by ADMIN
ADMIN
Created by: Tanya
Comments: 0
Category: SpreadProcessing
Type: Feature Request
4
Such objects are defined as oleObject elements in the XML. Currently, they are skipped on import.
Unplanned
Last Updated: 15 Jun 2018 11:44 by ADMIN
Excel provides an option to choose whether cells with number cell value zero should display as "0" or as if they are empty. The option can be found in File -> Options -> Advanced -> "Show a zero in cells that have zero value". The option is set per sheet. The XML attribute is called "zeroValues" and it can be found on page 1625 in the format specification.
Completed
Last Updated: 17 May 2018 08:04 by ADMIN
KeyNotFoundException is thrown on import. The number formats with id 5, 6, 7 and 8 are missing in the built-in number formats.

Available in R2 2018 Official Release version.
Unplanned
Last Updated: 16 May 2018 10:03 by ADMIN
At this point the culture used by RadSpreadProcessing (in the FormatHelper and internally in SpreadsheetCultureHelper) is determined by the current thread culture on startup. Provide ability to:
- to change the culture at runtime. Currently, when the thread culture is changed, RadSpreadProcessing is "stuck" with the original one.
- set this culture independently of the current thread's one.
Declined
Last Updated: 08 May 2018 13:00 by ADMIN
When iterating through the rows and cells of an imported Worksheet in at least one of the rows GetValue().Value.ResultValueType for a number cell is set to GetValue().Value.ResultValueType.Text and the value to "error" or "string".

For us this happens in a worksheet with 200 rows max. and columns formated as date, time, time followed by some text and number columns.
In our Tests with different excel files it allways happened once (between line 11 and 16) and only for the first two columns.

Exporting the worksheet back into a new excel file will show all rows and columns types and values OK.

Unplanned
Last Updated: 30 Apr 2018 14:00 by ADMIN
ADMIN
Created by: Tanya
Comments: 0
Category: SpreadProcessing
Type: Feature Request
0
RIGHT returns the last character or characters in a text string, based on the number of characters you specify.

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/WPF/CustomFunctions
Unplanned
Last Updated: 30 Apr 2018 13:59 by ADMIN
ADMIN
Created by: Tanya
Comments: 0
Category: SpreadProcessing
Type: Feature Request
2
Add support for TEXT function. The TEXT function allows changing the way a number appears by applying formatting to it using format codes.

TEXT(value, format_text)

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/WPF/CustomFunctions 
Unplanned
Last Updated: 30 Apr 2018 13:59 by ADMIN
ADMIN
Created by: Tanya
Comments: 0
Category: SpreadProcessing
Type: Feature Request
0
Add support for VALUE function. VALUE converts a text string that represents a number to a number.

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/WPF/CustomFunctions
Unplanned
Last Updated: 30 Apr 2018 13:57 by ADMIN
ADMIN
Created by: Deyan
Comments: 2
Category: SpreadProcessing
Type: Feature Request
9
IFERROR returns a value you specify if a formula evaluates to an error; otherwise, returns the result of the formula.

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/WPF/CustomFunctions