exportToExcel

将甘特图中的数据导出为Excel文件

void exportToExcel( [object export] );
exportobject可选,包含导出设置的对象(详情见下文)

Example

gantt.exportToExcel({
    name:"document.xlsx", 
    columns:[
        { id:"text",  header:"标题", width:150 },
        { id:"start_date",  header:"开始日期", width:250, type:"date" }
    ],
    server:"https://myapp.com/myexport/gantt",
    callback: function(res){
        alert(res.url);
    },
    visual:true,
    cellColors:true,
    date_format: "dddd d, mmmm yyyy"
});

Details

此方法属于export扩展,请确保已激活export_api插件。 更多详情请参阅导出/导入 Excel,导出 iCal文章。

对于8.0之前的Gantt版本,请在页面中引入https://export.dhtmlx.com/gantt/api.js脚本以启用在线导出服务,例如:

<script src="codebase/dhtmlxgantt.js"></script>
<script src="https://export.dhtmlx.com/gantt/api.js"></script>

exportToExcel() 方法接受一个包含若干可选属性的对象:

  • name - (string) 设置输出文件的文件名,需包含“.xlsx”扩展名
  • columns - (array) 定义生成Excel表格的列。每个列对象可以包含:
    • 'id' - (string,number) 映射到该列的事件属性
    • 'header' - (string) 列头文本
    • 'width' - (number) 列宽,单位为像素
    • 'type' - (string) 列数据类型
  • server - (string) 导出请求的API端点URL。当使用本地导出服务时非常有用。默认值为 https://export.dhtmlx.com/gantt
  • callback - (function) 用于接收生成的XLSX文件URL的回调函数。回调函数将接收一个包含url属性的JSON对象
  • visual - (boolean) 是否在导出的Excel文件中包含时间线图,默认为false。详情请参见如何添加任务颜色
  • cellColors - (boolean) 若为true,导出文件中的单元格将应用由timeline_cell_class模板定义的颜色,导出colorbackground-color属性
  • data - (object) 指定用于输出甘特图的自定义数据源
  • date_format - (string) 定义导出Excel文档中使用的日期格式。支持以下格式代码:

格式代码输出示例
d9
dd09
dddMon
ddddMonday
mm01
mmmJan
mmmmJanuary
mmmmmJ
yy12
yyyy2021
mm/dd/yyyy01/09/2021
m/d/y1/9/21
ddd, mmm dMon, Jan 9
mm/dd/yyyy h:mm AM/PM01/09/2021 6:20 PM
dd/mm/yyyy hh:mm:ss09/01/2012 16:20:00

默认日期参数

导出模块期望start_dateend_date列为Date类型,duration列为number类型。

当使用自定义模板时,应返回预期类型的值,或在列配置的name字段中指定不同的属性。例如:

 
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);         }
    },
    ...
];

否则,甘特数据将无法正确导出。参见相关示例

See also
Back to top