excel Object

Configures the Excel export settings of the TreeList.

excel.allPages Boolean (default: false)

If set to true the TreeList will export all pages of data. By default the TreeList exports only the current page.

Example - export all pages of data

<div id="treelist"></div>
<script>
  $("#treelist").kendoTreeList({
    toolbar: ["excel"],
    columns: [
      { field: "FirstName", title: "First Name" },
      { field: "LastName", title: "Last Name", width: 160 },
      { field: "Position" }
    ],
    excel: {
      allPages: true
    },
    pageable: {
      pageSize: 10
    },
    dataSource: {
      transport: {
        read: {
          url: "https://demos.telerik.com/kendo-ui/service/EmployeeDirectory/All",
          dataType: "jsonp"
        }
      },
      schema: {
        model: {
          id: "EmployeeID",
          fields: {
            parentId: { field: "ReportsTo",  nullable: true },
            EmployeeID: { field: "EmployeeId", type: "number" },
            Extension: { field: "Extension", type: "number" }
          },
          expanded: true
        }
      }
    }
  });
</script>

excel.fileName String (default: "Export.xslx")

Specifies the file name of the exported Excel file.

Example - setting the default Excel file name

<div id="treelist"></div>
<script>
  $("#treelist").kendoTreeList({
    toolbar: ["excel"],
    columns: [
      { field: "FirstName", title: "First Name" },
      { field: "LastName", title: "Last Name", width: 160 },
      { field: "Position" }
    ],
    excel: {
      fileName: "Employees.xlsx"
    },
    dataSource: {
      transport: {
        read: {
          url: "https://demos.telerik.com/kendo-ui/service/EmployeeDirectory/All",
          dataType: "jsonp"
        }
      },
      schema: {
        model: {
          id: "EmployeeID",
          fields: {
            parentId: { field: "ReportsTo",  nullable: true },
            EmployeeID: { field: "EmployeeId", type: "number" },
            Extension: { field: "Extension", type: "number" }
          }
        }
      }
    }
  });
</script>

excel.filterable Boolean (default: false)

Enables or disables column filtering in the Excel file. Not to be mistaken with the filtering feature of the TreeList.

Example - enabling filtering in the output Excel file

<div id="treelist"></div>
<script>
  $("#treelist").kendoTreeList({
    toolbar: ["excel"],
    columns: [
      { field: "FirstName", title: "First Name" },
      { field: "LastName", title: "Last Name", width: 160 },
      { field: "Position" }
    ],
    excel: {
      filterable: true
    },
    dataSource: {
      transport: {
        read: {
          url: "https://demos.telerik.com/kendo-ui/service/EmployeeDirectory/All",
          dataType: "jsonp"
        }
      },
      schema: {
        model: {
          id: "EmployeeID",
          fields: {
            parentId: { field: "ReportsTo",  nullable: true },
            EmployeeID: { field: "EmployeeId", type: "number" },
            Extension: { field: "Extension", type: "number" }
          }
        }
      }
    }
  });
</script>

excel.forceProxy Boolean (default: false)

If set to true, the content will be forwarded to proxyURL even if the browser supports local file saving.

excel.proxyURL String (default: null)

The URL of the server-side proxy which will stream the file to the end user. A proxy will be used when the browser is not capable of saving files locally. Such browsers are IE version 9 and earlier and Safari. The developer is responsible for implementing the server-side proxy. The proxy will return the decoded file with the Content-Disposition header set to attachment; filename="<fileName.xslx>".

The proxy will receive a POST request with the following parameters in the request body:

  • contentType - The MIME type of the file.
  • base64 - The base-64 encoded file content.
  • fileName - The file name as requested by the caller.

Example - setting the server proxy URL

<div id="treelist"></div>
<script>
  $("#treelist").kendoTreeList({
    toolbar: ["excel"],
    columns: [
      { field: "FirstName", title: "First Name" },
      { field: "LastName", title: "Last Name", width: 160 },
      { field: "Position" }
    ],
    excel: {
      proxyURL: "/save"
    },
    dataSource: {
      transport: {
        read: {
          url: "https://demos.telerik.com/kendo-ui/service/EmployeeDirectory/All",
          dataType: "jsonp"
        }
      },
      schema: {
        model: {
          id: "EmployeeID",
          fields: {
            parentId: { field: "ReportsTo",  nullable: true },
            EmployeeID: { field: "EmployeeId", type: "number" },
            Extension: { field: "Extension", type: "number" }
          }
        }
      }
    }
  });
</script>
In this article