Export and import from MS Project in DHTMLX Gantt Chart

| Comments (10)

What if we told you that export to/import from MS Project is available in dhtmlxGantt? “Finally!” would be a pretty fair reaction of many users. So now you are able to import and export a Gantt Chart from MS Project as easy as to write an admiring comment to this blog post!

Export to MS Project

Your dhtmlxGantt can be exported into XML MS Project file, which will preserve all tasks, relations and worktime settings, so then you can easily roll out the Gantt chart project in Microsoft Office Project.

View sample

Import from MS Project

The import service enables to convert XML or MPP MS Project files into JSON that will be compatible with dhtmlxGantt and will contain all tasks, relations, working days and times settings, and some optional MS project values. When dhtmlxGantt receives this JSON, it can be loaded into the gantt directly on the client (as you can see in this sample), or JSON can be received on the server to make an import to the database.

import from MS Project to Gantt chart

View sample

For now, the export service is available online only. There is no need in any extra settings in order to start using it. All the attendant configurations are described in Export and import from MS Project section in our docs.


  1. masdju June 21, 2016 at 12:45 pm

    Great! Good Job…

    • Maria (DHTMLX team) June 21, 2016 at 1:32 pm

      Thanks! ;)

  2. yaser June 26, 2016 at 11:55 pm

    It is amazing
    Thank you

  3. Rim September 26, 2016 at 1:39 pm

    The sample is not working. null project in importFromMSProject callback

  4. Sergio Negri December 19, 2016 at 1:21 pm

    I know resources are not natively supported in dhtmlxgantt (you cannot assign tasks to people). I know there is a workaround. But I was wondering what happens when you import MPP files into dhtmlx: is the information on resource assigned to task simply ignored, or is it put somewhere in the json so that it can be retrieved and managed (albeit in a custom way)?
    Thank you!

    • Aras Kairys (DHTMLX team) December 19, 2016 at 5:35 pm

      Hi Sergio,
      The import service return a general info of resources and assignments, so you can use it with custom code (but the scheduler doesn’t use this info by default). The service returns a list of resources in the “resources” property of the response object http://screencast.com/t/oZd8rwWOUbu – it’s an array of {id:string, name:string} objects.
      In its turn, each task that comes from the import service has an array of resource ids attached to it:

  5. Chris March 7, 2017 at 7:01 pm

    If you have time can you guys change something. Your URL reference redirects to https, BUT the javascript include is http://export.dhtmlx.com/gantt/api.js. That causes a blocked-mixed content. Your include should be https://export.dhtmlx.com/gantt/api.js.

    (When I try from my server I am getting an empty xml file. I wanted to test with your example on your server.)

  6. Christian March 28, 2017 at 5:57 pm

    This sample dont work for me, is it still useable ?

Leave a Reply