7 Answers, 1 is accepted
Hello Marc,
Client-side export to excel functionality has certain limitations that depends on the browser and the hardware specifications. For larger datasets we suggest the usage of RadSpreadStreamProcessing library as explained in the following article:
http://docs.telerik.com/kendo-ui/controls/data-management/spreadsheet/import-and-export-data/server-side-processing
Regards,
JoanaProgress Telerik

Hey,
This doesn't really apply to my situation. I am using Kendo UI within AngularJS.
The saveAsExcel option works sometimes, but not others.
Is there any documentation on how it works? or limitations etc?
Thanks!
Here you could find the documentation about saveAs functionality and its usage: https://docs.telerik.com/kendo-ui/framework/excel/introduction. Have you managed to determine the scenarios when saving excel is interfered? You could send us the data loaded in the spreadsheet to make further tests based on it.
Regards,
Joana
Progress Telerik

Hi Joana,
Thanks for your reply - are you able to provide an example where I can do this with the workbook etc, but using a datasource as the basis of the data.
Thanks!
Marc
If you need to load data from Kendo DataSource into kendo.ooxml.Workbook, I am afraid, that required is not supported scenario. If you think, that such functionality would add value to the Kendo suite, I would suggest you to log your idea as feature request on our Feedback portal.
In case you would like to load data from DataSource in a Spreadsheet widget and export it to Excel on the server, here you will find a small Dojo demonstrating such implementation.
Regards,
Veselin Tsvetanov
Progress Telerik

Hi Veselin.
Your documentation states that you can use spreadsheet.saveAsExcel() - however half of the time I get unknown errors (network error cannot download) when trying to use this.
However - the functionality I asked for, which you have said is not supported, is definitely possible. My solution is below..
var rows = [
{
cells: [ {value: "Item Id", background: "#428bca", vAlign: "center", color: "#ffffff", bold: true} ]
}
];
dataSource.fetch(function () {
var data = this.data();
for (var i = 0; i < data.length; i++) {
rows.push({
cells: [ {value: data[i].skuId} ]
})
}
var workbook = new kendo.ooxml.Workbook({
sheets: [
{
columns: [
{autoWidth: true}, {autoWidth: true}, {autoWidth: true}, {autoWidth: true}, {autoWidth: true},
{autoWidth: true}, {autoWidth: true}, {autoWidth: true}, {autoWidth: true}, {autoWidth: true},
{autoWidth: true}, {autoWidth: true}, {autoWidth: true}, {autoWidth: true}, {autoWidth: true},
{autoWidth: true}, {autoWidth: true}, {autoWidth: true}, {autoWidth: true}, {autoWidth: true},
{autoWidth: true}, {autoWidth: true}, {autoWidth: true}, {autoWidth: true}, {autoWidth: true},
{autoWidth: true}, {autoWidth: true}, {autoWidth: true}, {autoWidth: true}, {autoWidth: true},
{autoWidth: true}
],
title: "Sheet1-Data",
rows: rows
}
]
});
This definitely works every time, for hundreds of thousands of rows and around 150 columns.
Please, excuse me for the misunderstanding caused. What I meant with my previous answer is that the Kendo DataSource could not be configured for, and directly used in the kendo.ooxml.Workbook object. Nevertheless, the suggested approach to manually read the DataSource and populate the rows in the kendo.ooxml.Workbook from a local array is perfectly valid.
If you need further assistance with the problem upon the Spreadsheet.saveAsExcel() method execution, we will need to be able to reproduce and troubleshoot it locally. Therefore, I would like to ask you to send us a sample Spreadsheet data (as JSON or xlsx) which would cause the issue. Note, that, as my colleague Joana has mentioned, this functionality would be limited by the browser capabilities and the hardware specifications of the client.
Regards,
Veselin Tsvetanov
Progress Telerik