Чтобы экспортировать данные из DataTable/TreeTable в документ Excel, вызовите метод toExcel.
Метод принимает два параметра:
Например, чтобы экспортировать таблицу в документ Excel вам необходимо начать с инициализации компонента:
{
view:"datatable",
id: "myDatatable",
// конфигурация datatable
...
}
И затем вызвать метод toExcel():
webix.toExcel($$("myDataTable"));
Related sample: Export to Excel
По умолчанию:
Вы можете изменить некоторые настройки по умолчанию.
Вы можете
Ниже вы найдете подробное описание всех возможностей:
webix.toExcel($$("table"), {
filename: "table", // for filename
name: "Films" // for sheet name
});
Related sample: Export to Excel
webix.toExcel($$("table"), {
filterHTML:true
});
Вы можете задать объект с ID столбца в качестве ключей. Для параметров по умолчанию их значения могут быть булевыми (взятыми из конфигурации компонента) или объектом:
webix.toExcel($$("table"), {
columns:{
"rank":true,
"title":{ header:"Title", width:250}
}
});
При такой записи, порядок столбцов в итоговом файле определяется автоматически с помощью цикла for.. in. Иногда это может оказаться ненадежным, например:
webix.toExcel($$("table"), {
columns:{
"rank":true,
"title":{ header:"Title", width:250},
"2016":{ header:"Votes in 2016"},
"2015":{ header:"Votes in 2015"}
}
});
Порядок в этом экспортируемом файле будет: "2015", "2016", "rank", "title", так как числа обрабатываются первыми и поступают в порядке возрастания.
Чтобы установить строгий порядок столбцов укажите столбцы как массив:
webix.toExcel($$("table"), {
columns:[
{ id:"rank" },
{ id:"title", header:"Title", width:250},
{ id:"2016", header:"Votes in 2016"},
{ id:"2015", header:"Votes in 2015"}
]
});
Если в этом случае вы хотите получить параметры столбца по умолчанию, вам нужно указать только ID столбца (смотри столбец "rank").
webix.toExcel($$("myDataTable"), {
columns:{
"title":{header: "Title", width: 200, template: webix.template("#id#.#name#")},
"year":{header: "Year", width: 100}
}
});
Столбец будет отображен с установленными дополнительными свойствами, которые могут отличаться от параметров компонента.
webix.toExcel(datatable, {
columns:{
Custom1:{
template:function(obj){
return "Year " + obj.year;
},
width:50,
header:"Year"
},
// еще столбцы
title:true
}
});
"Custom1" (может быть использовано любое имя) получает данные из поля year даже если оно не отображено в таблице, но представлено в наборе данных. Поле отображается с width, template и header, которые будут в хедере соответствующего столбца экспортируемой таблицы.
webix.ui({
rows:[
{
view:"datatable",
id:"table",
data:grid_data,
columns:[
{id:"title", fillspace:true, template:"Film #title#"}
]
}
]
});
webix.toExcel($$("table"), {
rawValues:true
});
По умолчанию для настройки rawValues установлено значение false и отображается темплейт, заданный в наборе данных.
webix.toExcel($$("table"), {
spans:true
});
Будут экспортированы только объединения хедеров столбцов, т.к функциональность "Объединение строк и столбцов в DataTable" доступна только в версии PRO.
webix.toExcel($$("table"), {
download:false
}).then(function(blob){
// обработка данных
});
webix.toExcel($$("table"), {
ignore: { "votes":true, "rating":true }
});
webix.toExcel($$("table"), {
hidden: true
});
Изначально, скрытые столбцы/ряды будут скрыты и в файле. Пользователь сможет отобразить их с помощью соответствующих контролов Excel.
webix.toExcel(table, {
hide:(obj)=>{
if(obj.id < 20)return true;
}
});
Функция принимает объект ряда в качестве параметра.
Чтобы скрыть какой-либо столбец, вам необходимо в его объекте конфигурации выставить полю hidden значение true:
webix.toExcel($$("table"), {
columns:{
rank:true,
// скрываем столбец "title"
title:{ width:1500, hidden:true },
year:true,
votes:true
}
});
Related sample: Datatable: Hiding Cols/Rows during Export to Excel
webix.toExcel($$("table"), {
styles:true
});
экспортировать высоту строк. Эта настройка регулируется свойством heights, которое по умолчанию false и может принимать следующие значения:
webix.toExcel($$("table"), {
heights:true
});
Если вы установите styles:true, настройка heights автоматически переключится на "all".
webix.toExcel($$("table"), {
header:false,
footer:false
});
webix.toExcel($$("data"), {
filter:function(obj){
return obj.checked;
}
});
Related sample: Specifying Data Items for Export
указать желаемый тип данных и формат для экспортируемых дат и чисел для определенных столбцов с помощью свойств - exportType и exportFormat. Возможны следующие значения:
для exportType: "number", "string", "boolean", "date"
webix.toExcel($$("table"), {
rawValues:true,
columns:[
{ id:"year", header:"Released", exportType:"date", exportFormat:"d-mmm-yy"},
{ id:"votes", header:"Votes", exportType:"number", exportFormat:"#,##0.00"}
]
});
Related sample: Export to Excel: Setting Format
Наверх