Dojo example: https://dojo.telerik.com/UWicoqeJ
The cell will display: "NO OK"
The cell should display: "OK" as it does in Excel.
When dragging a cell to edit other cells in the Spreadsheet, the Change event of the DataSource is not fired.
The issue is a regression starting with Kendo - 2022.2.621
Try to edit multiple cells by dragging a cell.
The Change event is not triggered.
The Change event should be fired.
If you want to have only some of the default tools, you cannot do that with the Spreadsheet wrapper.
.Toolbar(t =>
{
t.Home(h =>
{
h.ExportAs();
});
})
All the tools are displayed.
Only the ExportAs tool is displayed.
Dojo: https://dojo.telerik.com/iMuMedOd
A js exception is thrown:
Uncaught TypeError: Cannot read property 'click' of undefined
kendo.all.js:168073
With the toolbar disabled the shortcuts should do nothing. There should be no exceptions.
Reported in Ticket ID: 1529288
Create an MVC application:
View:
@{
ViewBag.Title = "Home Page";
string sfile = System.IO.Path.Combine(Server.MapPath("~"), "File1.xlsx");
}
@Html.Kendo().Spreadsheet().Name("spreadsheet"))
<br />
<br />
<button class="k-button k-primary" id="export" onclick="ExportExcel()">Export Spreadsheet content</button>
<script>
function ExportExcel() {
var spread = $('#spreadsheet').getKendoSpreadsheet();
var data = JSON.stringify(spread.toJSON());
var fd = new FormData();
fd.append('wbook', data);
fd.append('sfile', "File1.xlsx");
$.ajax({
url: "@Url.Action("SaveFileExcel", "Home")",
data: fd,
contentType: "application/x-www-form-urlencoded",
processData: false,
contentType: false,
type: "POST",
statusCode: {
200: function (xhr, status, err) {
console.log('File exported!');
},
500: function (xhr, status, err) {
console.log('Internal Server Error!');
}
}
});
}
</script>
Controller:
[HttpPost]
public ActionResult SaveFileExcel(string wbook, string sFile)
{
var workbook = Telerik.Web.Spreadsheet.Workbook.FromJson(wbook);
string physicalPath = Path.Combine(Server.MapPath("~/"), sFile);
//workbook.Save("C:/inetpub/wwwroot/" + sFile
workbook.Save(physicalPath);
return new EmptyResult();
}
The Save method throws System.ExecutionEngineException
The file is saved.
Dojo example.
All filters are cleared.
The Spreadsheet shows Company filtered by value "Excella". This is the behavior when different columns are filtered consecutively and then "Undo" is clicked.
Reproducible in the demos:
A popup with an error message appears.
The user should be able to navigate to the desired cell, in order to add it as a reference to the formula.
Currently, only the List and Number validation rules are supported when using Workbook.ToDocument();
It happens when the type of validation is text or custom
for example:
If I saved :
"validation": {
"type": "reject",
"comparerType": "custom",
"dataType": "custom",
"from": "AND(LEN(A2)<3)",
"showButton": true,
"allowNulls": true
}
I get back:
"validation": {
"type": "reject",
"comparerType": "equalTo",
"dataType": "number",
"from": "=AND(LEN(A2)<3)",
"to": "\"=\"",
"allowNulls": true
}
It happens also when the comparer type is text - it saves it as a number
Also when I use the create validator with your UI and choose a custom formula it can't be saved because the compare type is null. As a result, I must define manually the custom validator
Tested on demo-page. The export of an Excel-file containing defined names with a period such as "test.name" will result in an error.
Steps to reproduce:
The Date is displayed as "12/31/0"
The Date should be displayed correctly.
Calling insertRow multiple times over many sheet data causes a slower performance since 2020.1.219.
http://dojo.telerik.com/EBEtaFOj (2020.1.114)
The Workbook.FromDocument() method freezes the panes based on the coordinates of the TopLeftCellIndex of the pane instead of the XSplit and YSplit properties of the pane. Reproduced with the attached Excel file
var pane = documentWorksheet.ViewState.Pane;
if (pane != null && pane.State == PaneState.Frozen)
{
sheet.FrozenRows = pane.TopLeftCellIndex.RowIndex;
sheet.FrozenColumns = pane.TopLeftCellIndex.ColumnIndex;
}
Solution:
var pane = documentWorksheet.ViewState.Pane;
if (pane != null && pane.State == PaneState.Frozen)
{
sheet.FrozenRows = pane.YSplit;
sheet.FrozenColumns = pane.XSplit;
}
WORKAROUND: Loading the Excel file with DocumentProcessingLibrary API and change the pane
var fileName = <YourFilePathHere...>;
if (!File.Exists(fileName))
{
throw new FileNotFoundException(String.Format("File {0} was not found!", fileName));
}
Telerik.Windows.Documents.Spreadsheet.Model.Workbook workbook;
IWorkbookFormatProvider formatProvider = new Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.Xlsx.XlsxFormatProvider();
using (Stream input = new FileStream(fileName, FileMode.Open))
{
workbook = formatProvider.Import(input);
foreach (var sheet in workbook.Worksheets)
{
if (sheet.ViewState.Pane != null && sheet.ViewState.Pane.State == Telerik.Windows.Documents.Spreadsheet.Model.PaneState.Frozen)
{
var originalPane = sheet.ViewState.Pane;
var pane = new Pane(new CellIndex(originalPane.YSplit, originalPane.XSplit), originalPane.XSplit, originalPane.YSplit, originalPane.ActivePane);
sheet.ViewState.Pane = pane;
}
}
}
var sheets = Telerik.Web.Spreadsheet.Workbook.FromDocument(workbook).Sheets;
This is a regression introduced in R2 2019.
Textboxes and charts currently are not supported in the Spreadsheet, however, if the loaded excel file contains such, saving the file should not throw a js exception.
On saving the file the following exception is thrown:
kendo.all.js:12938 Uncaught TypeError: Cannot read property 'target' of undefined
No js exceptions on saving the file.
If there is a Spreadsheet on a given page and we scroll the page down using the mouse wheel, once the scrolling stops over the Spreadsheet and we try to continue it, we cannot do it. If the Spreadsheet has defined rows that are not currently visible when the mouse wheel is moved, then Spreadsheet is being scrolled, not the current page.
If the Spreadsheet has a lower number of pre-defined rows that are all displayed on the component's initialization the scrolling is again not applying to the page. Instead, moving the mouse wheel doesn't do anything until the mouse cursor is moved outside the Spreadsheet.
Because the cursor is inside the Spreadsheet the page cannot be scrolled. If the rows configuration is commented, when the scrolling is started again, the Spreadsheet data will be scrolled.
If all the data in the Spreadsheet is displayed, moving the mouse wheel over the component should result in page scrolling. If there is data in the Spreadsheet, there should be some way to prevent the scrolling inside the component.
Hi Team,
I am using a kendospreadsheet. I want to find the rownumber of last non blank cell for column C.
When i try the =SUMPRODUCT(MAX(($C$1:$C100<>"")*(ROW($C$1:$C100)))) in excel it works.
The same formula does not work in kendospreadsheet.
Please suggest if this is a bug or if formula needs any change to fit the kendospreadsheet.
Regards
Bharathy B
When importing a XLSX file with a frozen pane using server implementation(using the Document Processing Library), the dimensions of the frozen pane are missed.
The imported xlsx file appears to overflow the Kendo UI Spreadsheet component. See screencast(SpreadhsheetOverflowFrozenPane.zip)
When importing a file using server implementation, the file should be contained within the Kendo UI Spreadsheet component's view.
Reduce the amount of frozen rows/columns to fit into the widget.
Regression introduced in R3 2019.
Open this Spreadsheet demo. Even though the Toolbar configuration is set to false, it is not hidden. This applies only for ASP.Net Core and ASP.Net MVC.
The Toolbar is visible when set to false.
The Toolbar should be hidden.
When we want to add a formula in a given cell in the Spreadsheet, we double-click it and enter the "=" in it as an identifier that a formula definition will follow. If we want to include in the formula a cell that is not inside the visible range of the Spreadsheet, we scroll to that cell and select it. In Internet Explorer, if we scroll to a given cell using the arrows of the Spreadsheet's scrollbar the "double-clicked" cell becomes just a selected one and the "=" sign is converted to a string value.
When building a formula in a given cell and trying to navigate to a cell using the scrollbar, this usage stops the formula building and converts the "=" into a string.
When a user creates a formula for a given cell, they should be able to navigate through the Spreadsheet using its scrollbars.