importFromMSProject

converts an XML or MPP MS Project file to JSON

void importFromMSProject(object config);
configobjectan object with configuration properties of an imported file

Example

gantt.importFromMSProject({
    data: file,
    taskProperties: ["Notes", "Name"],
    callback: function (project) {
        if (project) {
            gantt.clearAll();
            if (project.config.duration_unit) {
                gantt.config.duration_unit = project.config.duration_unit;
            }                    
            gantt.parse(project.data);
        }
     }
});

Related samples

Details

The method requires HTML5 File API support.

This method is defined in the export extension, so you need to activate the export_api plugin. Read the details in the Export and Import from MS Project 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 method takes as a parameter an object with configuration properties of an imported file:

  • data - an instance of File which should contain either MPP or XML Project file.
  • callback - a callback function.
  • durationUnit - sets an expected duration unit ("minute", "hour", "day", "week", "month", "year").
  • projectProperties - specifies an array of project properties that should be put into the response.
  • taskProperties - specifies an array of additional task properties to be imported.

Check the detailed descriptions of the import settings in the related section.

Response

The response will contain a JSON of the following structure:

{
   data: {},
   config: {},
   resources: [],
   worktime: {},
   calendars: []
}
  • data - (object) a gantt data object. Each task has the following properties: id, open, parent, progress, start_date, text, resource. Dates are stringified in the "%Y-%m-%d %H:%i" format.
  • config - (object) a gantt configuration object with settings retrieved from the project file.
  • resources - (array) an array of objects (each having the following properties: {id: string, name: string, type: string, calendar: string} that represent the list of resources from the project file.
  • worktime - (object) an object containing the working time settings from the project calendar. It can contain the following attributes:
    • id - (string | number) optional, the calendar id
    • hours - (array) an array with global working hours, sets the start and end hours of the task
    • dates - (array) an array of dates that can contain:
      • 7 days of the week (from 0 - Sunday, to 6 - Saturday), where 1/true stands for a working day and 0/false - a non-working day
      • other records are dates
  • calendars - (array) an array containing calendar configuration objects for creating a new calendar.
    • calendarConfig - (object) a calendar configuration object that can contain the following attributes:
      • id - (string | number) optional, the calendar id
      • name - (string) the calendar name
      • hours - (array) an array with global working hours, sets the start and end hours of the task
      • dates - (array) an array of dates that can contain:
        • 7 days of the week (from 0 - Sunday, to 6 - Saturday), where 1/true stands for a working day and 0/false - a non-working day
        • other records are dates
See also
Back to top