Kendo Spreadsheet taking ~ 2 min to set data and paint the grid

1 Answer 85 Views
Spreadsheet
Janaki
Top achievements
Rank 1
Janaki asked on 12 Aug 2023, 02:12 PM | edited on 16 Aug 2023, 11:30 AM

I'm trying to paint the spreadsheet with data of 3500 rows * 250 columns and I'm having few loops to prepare the data before the below code and trying to set it all at once. The below code took ~ 2 min

 

 

 

Is there any way improve this ?

 

 

1 Answer, 1 is accepted

Sort by
0
Neli
Telerik team
answered on 16 Aug 2023, 02:08 PM

Hi Janaki,

I have tested the behavior when loading 3500 rows and 250 columns in the Spreadsheet. However, the data is loaded for less than second on my side. 

Here you will find a Dojo example where also the background of the cells in the Spreadsheet is changed. Could you please let me know if I am missing something?

Looking forward to your reply.

Regards,
Neli
Progress Telerik

Stay tuned by visiting our public roadmap and feedback portal pages! Or perhaps, if you are new to our Kendo family, check out our getting started resources
Janaki
Top achievements
Rank 1
commented on 27 Oct 2024, 04:10 PM

edited your sample . It takes 30 seconds with same example 
Untitled | Kendo UI Dojo

 

<!DOCTYPE html>
<html>
  <head>
    <base href="https://demos.telerik.com/kendo-ui/spreadsheet/index">
    <style>html { font-size: 14px; font-family: Arial, Helvetica, sans-serif; }</style>
    <title></title>

    <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>

    <script src="https://kendo.cdn.telerik.com/2023.2.718/js/jszip.min.js"></script>

    <script src="https://kendo.cdn.telerik.com/2023.2.718/js/kendo.all.min.js"></script>



    <link rel="stylesheet" href="https://kendo.cdn.telerik.com/themes/6.6.0/default/default-ocean-blue.css">
    <script src="https://kendo.cdn.telerik.com/2023.2.718/js/angular.min.js"></script>
  </head>
  <body>
    <div id="example">
      <div id="spreadsheet" style="width: 100%;"></div>
      <script>
        $(function() {
          function getData(){
            var rows = [];
            var cells = []
            for(var i = 0; i< 250; i++){
              var cell = {
                index:i,
                value: `Cell #${i}`,
               bold: "true",
                borderBottom:{size:2,color:"#a9a9a9"}
              }
              cells.push(cell);
            }
            for(var i = 0; i < 3500; i++){
              var row = {cells:cells}
              rows.push(row);
            }
            return  {
              sheets:[ 
                {
                  name: "Food Order",
                  rows: rows
                }
              ]
            }
          }

          var data = getData();

          console.log("SpreaddSheet start", new Date())

          var spread = $("#spreadsheet").kendoSpreadsheet().data("kendoSpreadsheet");
          spread.fromJSON(data);


          var sheet = spread.activeSheet();
          //sheet.range("A1:IP3500").background("green");
          console.log("SpreaddSheet end", new Date())
        });
      </script>
    </div>




  </body>
</html>
Neli
Telerik team
commented on 30 Oct 2024, 01:06 PM

Hi Janaki,

I have replied previously in the other forum thread regarding the same issue. Belo you will find a link to it for a convenience.

- https://www.telerik.com/forums/kendo-spreadsheet-performance-issue-with-large-data-set

i would suggest keep the conversation in a single thread.

Regards,

Neli

Tags
Spreadsheet
Asked by
Janaki
Top achievements
Rank 1
Answers by
Neli
Telerik team
Share this question
or