Die dhtmlxGantt-Bibliothek ermöglicht es Ihnen, Daten aus dem Gantt-Diagramm in Excel- und iCal-Formate zu exportieren. Sie können auch Daten aus einer Excel-Datei in Gantt importieren.
Der Exportdienst ist kostenlos, aber die resultierende Excel- oder iCal-Datei wird das Wasserzeichen der Bibliothek unter der GPL-Lizenz enthalten. Wenn Sie eine Lizenz erwerben, sind die exportierten Dateien während des gültigen Supportzeitraums (12 Monate für alle PRO-Lizenzen) wasserzeichenfrei.
Es gibt mehrere Exportdienste, die Sie auf Ihrem lokalen Rechner einrichten können, um Gantt-Diagramme nach Excel oder iCal zu exportieren. Beachten Sie, dass diese Exportdienste nicht Teil des Gantt-Pakets sind. Weitere Details zu den Nutzungsbedingungen finden Sie im relevanten Artikel.
Der Exportdienst hat Beschränkungen hinsichtlich Zeit und Anfragengröße.
Wenn der Exportprozess länger als 20 Sekunden dauert, wird er gestoppt und Sie sehen diesen Fehler:
Error: Timeout trigger 20 seconds
Wenn mehrere Benutzer gleichzeitig Gantt-Diagramme exportieren, kann der Prozess länger dauern. Die Zeit, die für die Anfrage jedes Benutzers aufgewendet wird, wird jedoch individuell berechnet.
Der gemeinsame API-Endpunkt https://export.dhtmlx.com/gantt wird für alle Exportmethoden verwendet (exportToPDF, exportToPNG, exportToMSProject, etc.). Die maximale Anfragengröße beträgt 10 MB.
Für Dienste wie den MSProject und Primavera P6 Export/Import (exportToMSProject / importFromMSProject / exportToPrimaveraP6 / importFromPrimaveraP6) steht ein separater API-Endpunkt https://export.dhtmlx.com/gantt/project zur Verfügung, mit einem höheren Anfragengrößenlimit von 40 MB.
Wenn Sie mit großen Diagrammen arbeiten, sollten Sie ein eigenständiges Exportmodul verwenden. Dieses Modul ist kostenlos, wenn Sie eine Commercial, Enterprise oder Ultimate Lizenz besitzen. Alternativ können Sie das Modul separat erwerben.
Weitere Details zur Verwendung des Exportmoduls für PDF finden Sie hier. Dieses Modul unterstützt den Export von Daten in PDF-, PNG-, Excel- und iCal-Formate.
Um Gantt-Diagrammdaten in eine Excel-Datei zu exportieren, befolgen Sie diese Schritte:
gantt.plugins({
export_api: true
});
Für Versionen von Gantt älter als 8.0, binden Sie https://export.dhtmlx.com/gantt/api.js in Ihre Seite ein, um den Online-Exportdienst zu aktivieren, wie folgt:
<script src="codebase/dhtmlxgantt.js"></script>
<script src="https://export.dhtmlx.com/gantt/api.js"></script>
<input value="Export to Excel" type="button" onclick='gantt.exportToExcel()'>
<script> gantt.init("gantt_here");
gantt.parse(demo_tasks);
</script>
Related sample: Export data : MS Project, PrimaveraP6, Excel & iCal
Related sample: Export data: store online
Die exportToExcel() Methode akzeptiert ein Objekt mit mehreren optionalen Eigenschaften:
Beispiel: Aufrufen der Exportmethode mit optionalen Eigenschaften
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: function(res){
alert(res.url);
},
visual:true,
cellColors:true,
data:{},
date_format: "dddd d, mmmm yyyy"
});
Das Exportmodul erwartet, dass die start_date und end_date Spalten vom Typ Date sind und die duration Spalte vom Typ number.
Wenn Sie benutzerdefinierte Vorlagen verwenden, stellen Sie sicher, dass sie Werte der erwarteten Typen zurückgeben oder einen anderen Wert in der name Eigenschaft der Spaltenkonfiguration definieren. Zum Beispiel:
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: function(task){ return formatter.format(task.duration_formatted); }
},
...
];
Andernfalls werden die Gantt-Daten nicht exportiert. Siehe ein verwandtes Beispiel.
Um ein Gantt-Diagramm mit einem benutzerdefinierten Datensatz (anstelle der aktuellen Gantt-Daten) zu exportieren, verwenden Sie die data Eigenschaft in der exportToExcel Methode:
gantt.exportToExcel({
name:"document.xlsx",
data:[
{id:1, text:"Project #1", start_date:"01-04-2020", duration:18},
{id:2, text:"Task #1", start_date:"02-04-2020",duration:8, parent:1},
{id:3, text:"Task #2", start_date:"11-04-2020",duration:8, parent:1}
]
});
Der data Parameter akzeptiert nur ein Datenobjekt, keine URL.
Um Aufgabenfarben in die exportierte Excel-Datei aufzunehmen, setzen Sie die visual Eigenschaft auf "base-colors":
gantt.exportToExcel({
visual: "base-colors", cellColors: true
})
Related sample: Export colors of tasks
Da der Exportdienst keine beliebigen Excel-Spalten automatisch dem Gantt-Datenmodell zuordnet, wird das Dokument in ein Array von Zeilen im JSON-Format konvertiert. Entwickler sind dafür verantwortlich, diese Daten in das Gantt-Format zu konvertieren.
Um eine Excel-Datei zu konvertieren, senden Sie eine Anfrage an den Exportdienst:
Parameter:
Beispiel:
<form action="https://export.dhtmlx.com/gantt" method="POST"
enctype="multipart/form-data">
<input type="file" name="file" />
<input type="hidden" name="type" value="excel-parse">
<button type="submit">Get</button>
</form>
Alternativ können Sie die clientseitige API verwenden:
gantt.importFromExcel({
server:"https://export.dhtmlx.com/gantt",
data: file,
callback: function(project){
console.log(project)
}
});
Related sample: Import Excel file
Hierbei ist file ein File Objekt, das eine Excel (xlsx) Datei enthält.
gantt.importFromExcel setzt die Unterstützung der HTML5 File API voraus.
Die Antwort wird ein JSON-Array von Objekten sein:
[
{ "Name": "Task Name", "Start": "2018-08-11 10:00", "Duration": 8 },
...
]
gantt.importFromExcel({
server:"https://export.dhtmlx.com/gantt",
data: file,
sheet:2, // wählt das dritte Blatt aus
callback: function (rows) {}
});
Um Gantt-Diagrammdaten in eine iCal-Zeichenfolge zu exportieren, befolgen Sie diese Schritte:
gantt.plugins({
export_api: true
});
<input value="Export to iCal" type="button" onclick='gantt.exportToICal()'>
<script> gantt.init("gantt_here");
gantt.parse(demo_tasks);
</script>
Related sample: Export data : MS Project, PrimaveraP6, Excel & iCal
Related sample: Export data: store online
Die exportToICal() Methode akzeptiert ein Objekt mit diesen optionalen Eigenschaften:
Beispiel: Aufrufen der Exportmethode mit optionalen Eigenschaften
gantt.exportToICal({
server:"https://myapp.com/myexport/gantt"
});
Zurück nach oben