The Spreadsheet doesn't' load correctly Excel files which definition of the tag is a single cell, instead of a cell range.
Test files: test-2.zip
The The "test.xlsx" file is not loading correctly in the Spreadsheet and loses data
The "test.xlsx" file should load correctly in the Spreadsheet without losing data
Spreadsheet: Improper copy paste to Excel when merged cells are present and one column in the merged cells range is hidden. If the column containing the first merged cell is hidden all the rows on that row will be shifted to the left.
After pasting, the merged cell consists of 4 cells, as expected, but the cell data is shifted to the left and the hidden column contains the cell data of the next column
The cells after the merged cell should not be shifted.
Dojo example.
The first row is duplicated.
The first row is not duplicated
Office 365 Comment are shown with a warning:
"[Threaded comment]
Your version of Excel allows you to read this threaded comment; however, any edits to it will get removed if the file is opened in a newer version of Excel. Learn more: https://go.microsoft.com/fwlink/?linkid=870924
go to demo - https://demos.telerik.com/kendo-ui/spreadsheet/index
import a file from ticket - 1447268
A warning is displayed
No warning is displayed
The AND formula, when used as part of an array formula, does not evaluate the whole array.
{=AND(A1:D1="")} would return TRUE if a value is entered in the range B1:D1 and FALSE only if value is entered in A1
=IF(AND(A1="",B1="",C1="",D1=""),TRUE,FALSE) would return FALSE if value is entered in any cell in range A1:D1
Ctrl+Shift+Enter to enter as an array formulaArray formula should be evaluated correctly and return FALSE when a value is entered in any cell in range A1:D1.
Reproducible in this demo: https://demos.telerik.com/kendo-ui/spreadsheet/datasource
The data cleared by the "undo" shortcut is saved and sent to the server
A different behavior is exhibited if the data is pasted over the row header instead of the row's first cell. Follow the same steps, but on step 3. instead of pasting over the first cell, paste the data over the row 79 header. After undo and then clicking "Save", the fields have null values.
No data is sent with the request
Dojo example.
The text in B2 is not unwrapped.
The merged cell prevents the unwrap. If there is no merged cell, or if the tool is used over the cell itself, wrapping/unwrapping works as expected.
The text in B2 is unwrapped.
Memory usage is increased if the DevTools is open. Navigation between sheets is also slower.
Memory usage increased and slower sheet change.
Memory usage should not be increased and sheet navigation should not be slow.
When a border is applied and there are frozen rows/columns the border appears splitted with a white lin in the middle.
The bottom border and the right border are split with a white line in the middle.
The border should appear entirely filled with the selected color.
When values in the sheet are updated using the batch method the DataSource does not update according to changes.
Dojo: https://dojo.telerik.com/@iankodj/IRUdufOx
1. Run the example
2. Check the console showing "no data" and an empty array.
When the Sheetsbar is hidden the horizontal scrollbar is not adjusted to the bottom of the widget

The horizontal scrollbar should be adjusted to the bottom of the widget.
As a possible workaround, when hiding the Sheetsbar add the following styling:
<style>
.k-spreadsheet-sheets-bar {
padding: 0;
border-style: none;
}
</style>
When the select() method is used in the Spreadsheet changing event wrong cell is selected.
Changing event is fired, but the 'B3' cell is selected instead of the 'B2'
The correct cell should be selected when using the select method inside the Spreadsheet event handlers.
Borders are persisted
1708030
* **Kendo UI version:** 2025.4.1217
Bug report
Data validation should not require DATEVALUE("") in Start and End inputs when `Date` is selected
Reproduction of the problem
https://demos.telerik.com/kendo-ui/spreadsheet/index
1. Select an empty cell
2. Click Data validation
3. Set Start: DATEVALUE("1/1/2024") and End: DATEVALUE("2/2/2025")
4. Automatic Hint message looks like: between DATEVALUE("1/1/2024") and End: DATEVALUE("2/2/2025")
Expected
Generated hint message shall not contain DATEVALUE("")
Environment
**Kendo UI version: [all]
**Browser: [all]
Dear Concerned,
1. Open https://demos.telerik.com/kendo-ui/spreadsheet/index
2. Select column B and drag mouse towards C, both columns will be selected which is correct behavior
3. Now just scroll down 2-3 rows using vertical scroll bar
4. Repeat step 2, this time it does not select B & C, instead it selects B,C,D,E.
5. Seems a bug, not an expected behavior.
Observation that might help you in fixing it:
1. if you move scroll bar in such a way so that no merged cell is visible it works well, e.g. scroll down till 20th row becomes first visible row on screen and now repeat step 2, it will work
2. if scroll position is on top then behavior is correct as well
3. Same issue exists in case of multiple row selection with merged column and scroll position.
Hi Team,
I have getting warning message when open down loaded excel file . This warning is coming if we apply conditional formatting in kendo spreadsheet .Please
check the URL
Hello there,
I am developing a Web application using Kendo UI Spreadsheet control, but I noticed that when I copy some numbers from a Excel sheet to the spreadsheet and then copy back to Excel, the decimal values are quite different, I mean, the decimal precision has been affected.
For example:
I have the following numbers on a Excel sheet:
| 1 | 0.5 | 0.333333333 | 0.25 | 0.2 | 0.166667 | 0.142857 | 0.125 | 0.111111 | 0.1 | 0.090909 | 0.083333 | 0.076923 | 0.071429 | 0.066667 | 0.0625 | 0.058824 | 0.055556 | 0.052632 |
Then, I copy them to the Kendo spreadsheet and I got the following:
| 100.00% | 50.00% | 33.33% | 25.00% | 20.00% | 16.67% | 14.29% | 12.50% | 11.11% | 10.00% | 9.09% | 8.33% | 7.69% | 7.14% | 6.67% | 6.25% | 5.88% | 5.56% | 5.26% |
But when I copy them back to Excel I got this:
| 1 | 0.5 | 0.3333 | 0.25 | 0.2 | 0.1667 | 0.1429 | 0.125 | 0.1111 | 0.1 | 0.0909 | 0.0833 | 0.0769 | 0.0714 | 0.0667 | 0.0625 | 0.0588 | 0.0556 | 0.0526 |
Losing many decimals affecting the results of my computation and calculation.
Can you tell me why is this happening?
Thank you some much.
The wrap text tool hides some of the cell's text if it is too long.
Go to this Dojo. Select cell A1 and toggle the wrap text tool. The beginning of the text is not displayed.
Part of the cell's content is hidden.
All the text should be visible.
TestExcel.xlsx.After import, some formula cells produce different results than Excel when the intermediate result is very close to zero.
Observed example from the attached file:
In Excel:
E1 = 0E2 = 0F1 = 55110.305475240835In Spreadsheet after import:
E1 = 0.00000000004366E2 = 0.000000000043660000000000000000F1 = 0Spreadsheet should match Excel results for the imported workbook, including cases where formulas evaluate to values extremely close to zero.
The issue appears related to formula recalculation after import and handling of floating-point precision near zero.
In the attached file:
The imported numeric inputs are:
A1 = 79590.518373344006B1 = 0.16372664029103301C1 = 4D1 = 82665.458212861093The formula in E1 is:
A1*(1+B1)^(1/C1)-D1Excel stores the result as 0, but Spreadsheet recalculates it to a very small positive number, which then changes the dependent IF result in F1.
TestExcel.xlsx <script>
const CANCELLATION_EPSILON = Number.EPSILON * 4;
function collapseCancellationError(result, left, right) {
const scale = Math.max(Math.abs(left), Math.abs(right));
if (!scale || result === 0) {
return result;
}
return Math.abs(result) <= CANCELLATION_EPSILON * scale ? 0 : result;
}
const { defineFunction } = KendoSpreadsheetCommon;
defineFunction('binary+', function(a, b) {
return collapseCancellationError(a + b, a, b);
}).args([
['*a', ['or', 'number', ['null', 0]]],
['*b', ['or', 'number', ['null', 0]]]
]);
defineFunction('binary-', function(a, b) {
return collapseCancellationError(a - b, a, b);
}).args([
['*a', ['or', 'number', ['null', 0]]],
['*b', ['or', 'number', ['null', 0]]]
]);
</script>