exportToExcel
Description
Exports data from the Gantt chart to an Excel document
exportToExcel: (export?: any) => void
Parameters
export- object - optional, an object with export settings (see the details)
Example
gantt.exportToExcel({
name: "document.xlsx",
columns:[
{ id: "text", header: "Title", width: 150 },
{ id: "start_date", header: "Start date", width: 250, type: "date" }
],
server: "https://myapp.com/myexport/gantt",
callback: (res) => {
alert(res.url);
},
visual: true,
cellColors: true,
data: { },
date_format: "dddd d, mmmm yyyy"
});
Details
This method is defined in the export extension, so you need to activate the export_api plugin. Read the details in the article.
If you use the Gantt version older than 8.0, you need to include the https://export.dhtmlx.com/gantt/api.js on your page to enable the online export service, e.g.:
<script src="codebase/dhtmlxgantt.js"></script>
<script src="https://export.dhtmlx.com/gantt/api.js"></script>
The exportToExcel() method takes as a parameter an object with several properties (all the properties are optional):
- name - (string) sets the name of the output file with the extension '.xlsx'
- columns - (array) allows configuring columns of the output Excel sheet. The properties of the column objects are:
- 'id' - (string,number) a property of the event that will be mapped to the column
- 'header' - (string) the column header
- 'width' - (number) the column width in pixels
- 'type' - (string) the column type
- server - (string) sets the API endpoint for the request. Can be used with the local install of the export service. The default value is
https://export.dhtmlx.com/gantt - callback - (function) If you want to receive an url to download a generated XLSX file, the callback property can be used. It receives a JSON object with the url property
- visual - (boolean) adds the timeline chart to an exported Excel document; false by default. Read how to add task colors to the exported file
- cellColors - (boolean) if set to true, the cells of the exported document will have the colors defined by the template, the color and background-color properties are exported
- data - (object) sets a custom data source that will be presented in the output Gantt chart
- date_format - (string) sets the format the date will be displayed in the exported Excel document. The following format code can be used:
table.my_table {
width: 70%;
padding: 0 20px;
}
table.my_table tr td {
text-align: left;
vertical-align: middle;
width: 35%;
border-bottom: 1px solid grey;
}
table.my_table td.version_info {
text-align: left;
font-weight: bold;
}
Format codeOutput:
| Format code | Output |
| d | 9 |
| dd | 09 |
| ddd | Mon |
| dddd | Monday |
| mm | 01 |
| mmm | Jan |
| mmmm | January |
| mmmmm | J |
| yy | 12 |
| yyyy | 2021 |
| mm/dd/yyyy | 01/09/2021 |
| m/d/y | 1/9/21 |
| ddd, mmm d | Mon, Jan 9 |
| mm/dd/yyyy h:mm AM/PM | 01/09/2021 6:20 PM |
| dd/mm/yyyy hh:mm:ss | 09/01/2012 16:20:00 |
Default date parameters
The Export module expects the start_date and end_date columns to have the Date type and the duration column to have the number type.
In case of applying custom templates, it is necessary either to return a value of the expected type or to define a different value in the name property of the column configuration. For instance:
gantt.config.columns = [
...
{ name: "start_date", align: "center", width: 100, resize: true,
editor: start_dateEditor },
{ name: "end_date", align: "center", width: 100, resize: true,
editor: end_dateEditor },
{ name: "duration_formatted",
align: "center", width: 40, resize: true,
editor: durationEditor,
template: (task) => {
return formatter.format(task.duration_formatted);
}
},
...
];
Otherwise, the Gantt data won't be exported. Check the related example.
Related API
- exportToMSProject
- exportToPrimaveraP6
- exportToICal
- exportToPDF
- exportToPNG
- exportToJSON
- importFromExcel
- importFromPrimaveraP6
- importFromMSProject