Die dhtmlxGantt-Bibliothek unterstützt das Exportieren von Daten aus dem Gantt-Diagramm in Excel- und iCal-Formate. Außerdem können Daten aus einer Excel-Datei in das Gantt-Diagramm importiert werden.
Der Export-Service ist kostenlos nutzbar, allerdings enthalten die resultierenden Excel/iCal-Dateien ein Wasserzeichen der Bibliothek unter der GPL-Lizenz. Wenn Sie eine Lizenz erwerben, sind exportierte Dateien während des aktiven Support-Zeitraums (12 Monate für alle PRO-Lizenzen) wasserzeichenfrei.
Es gibt verschiedene Export-Services, die Sie auf Ihrem Computer installieren können, um Gantt-Diagramme lokal nach Excel oder iCal zu exportieren. Beachten Sie, dass diese Export-Services nicht im Gantt-Paket enthalten sind. Weitere Details finden Sie im zugehörigen Artikel, um die Nutzungsbedingungen zu verstehen.
Der Export-Service hat Einschränkungen hinsichtlich der Verarbeitungszeit und der Anfragegröße.
Wenn der Exportvorgang länger als 20 Sekunden dauert, wird er abgebrochen und Sie sehen diesen Fehler:
Error: Timeout trigger 20 seconds
Wenn mehrere Benutzer gleichzeitig Gantt-Diagramme exportieren, kann der Vorgang länger als gewöhnlich dauern. Die für jede Benutzeranfrage aufgewendete Zeit wird jedoch separat gezählt.
Der Haupt-API-Endpunkt https://export.dhtmlx.com/gantt verarbeitet alle Exportmethoden (exportToPDF, exportToPNG, exportToMSProject, usw.). Die maximale Anfragegröße beträgt hier 10 MB.
Es gibt außerdem einen dedizierten API-Endpunkt https://export.dhtmlx.com/gantt/project für die MSProject- und Primavera P6- Export-/Import-Services (exportToMSProject / importFromMSProject / exportToPrimaveraP6 / importFromPrimaveraP6). Dieser Endpunkt unterstützt eine maximale Anfragegröße von 40 MB.
Für den Export großer Diagramme empfiehlt sich ein eigenständiges Export-Modul. Dieses Modul ist kostenlos, wenn Sie eine Commercial-, Enterprise- oder Ultimate-Lizenz besitzen. Andernfalls kann es hier separat erworben werden.
Weitere Informationen zur Verwendung des Export-Moduls für den PDF-Export finden Sie in diesem Leitfaden: PDF-Export-Modul. Dieses Modul unterstützt den Export in die Formate PDF, PNG, Excel und iCal.
Um Daten aus dem Gantt-Diagramm in eine Excel-Datei zu exportieren, gehen Sie wie folgt vor:
gantt.plugins({
export_api: true
});
Für Gantt-Versionen älter als 8.0 binden Sie das https://export.dhtmlx.com/gantt/api.js-Skript auf Ihrer Seite ein, um den Online-Export-Service zu aktivieren, zum Beispiel:
<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 optionales Objekt mit mehreren Eigenschaften:
Beispielaufruf der Export-Methode 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 Export-Modul erwartet, dass die Spalten start_date und end_date vom Typ Date sind, und die Spalte duration eine number ist.
Wenn Sie benutzerdefinierte Templates verwenden, stellen Sie sicher, dass der zurückgegebene Wert dem erwarteten Typ entspricht, oder geben Sie einen anderen Eigenschaftsnamen im Feld name der Spaltenkonfiguration an. 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 korrekt exportiert. Hier finden Sie ein entsprechendes Beispiel.
Um ein Gantt-Diagramm auf Basis eines benutzerdefinierten Datensatzes (anders als die aktuellen Diagrammdaten) zu exportieren, verwenden Sie die data-Eigenschaft im Parameterobjekt der Methode exportToExcel:
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}
]
});
Beachten Sie, dass der data-Parameter ein Datenobjekt und keine URL-Zeichenkette sein muss.
Um die Farben der Aufgaben 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 die automatische Zuordnung beliebiger Excel-Spalten zum Gantt-Datenmodell nicht unterstützt wird, wandelt der Export-Service das Excel-Dokument in ein Array von Zeilen um, das als JSON zurückgegeben wird. Die Umwandlung dieser Daten ins Gantt-Format obliegt den Entwicklern.
Um eine Excel-Datei zu konvertieren, senden Sie eine Anfrage an den Export-Service mit folgenden Angaben:
Request-Parameter:
Beispielformular:
<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 Client-seitige 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 repräsentiert.
gantt.importFromExcel benötigt Unterstützung für die HTML5 File API.
Die Antwort ist ein JSON-Array von Objekten:
[
{ "Name": "Task Name", "Start": "2018-08-11 10:00", "Duration": 8 },
...
]
Details:
gantt.importFromExcel({
server:"https://export.dhtmlx.com/gantt",
data: file,
sheet:2, // verarbeitet das dritte Blatt
callback: function (rows) {}
});
Um Gantt-Diagrammdaten als iCal-String zu exportieren, gehen Sie wie folgt vor:
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 optionales Objekt mit folgenden Eigenschaften:
Beispielaufruf der Export-Methode mit optionalen Eigenschaften
gantt.exportToICal({
server:"https://myapp.com/myexport/gantt"
});
Zurück nach oben