Чтобы экспортировать данные из компонента данных в документ CSV, вызовите метод toCSV с двумя параметрами:
Например, чтобы экспортировать таблицу в документ CSV:
webix.ui({
view:"datatable",
id: "myDataTable",
// конфигурация list
...
});
webix.toCSV($$("myDataTable"));
По умолчанию: - Метод toCSV возвращает все данные указанные в наборе данных компонента или в параметре columns компонента DataTable. - Данные экспортируемые в CSV названы "Data".
Вы можете изменить некоторые настройки по умолчанию.
Вы можете
webix.toCSV($$("table"), {
filename: "table"
});
webix.toCSV($$("table"), {
filterHTML:true
});
Вы можете задать объект с ID столбца в качестве ключей. Для параметров по умолчанию их значения могут быть булевыми (взятыми из конфигурации компонента) или объектом:
webix.toCSV($$("table"), {
columns:{
"rank":true,
"title":{ header:"Title", width:250}
}
});
При такой записи, порядок столбцов в итоговом файле определяется автоматически с помощью цикла for.. in. Иногда это может оказаться ненадежным, например:
webix.toCSV($$("table"), {
columns:{
"rank":true,
"title":{ header:"Title", width:250},
"2016":{ header:"Votes in 2016"},
"2015":{ header:"Votes in 2015"}
}
});
Порядок в этом экспортируемом файле будет: "2015", "2016", "rank", "title", так как числа обрабатываются первыми и поступают в порядке возрастания.
Чтобы установить строгий порядок столбцов укажите столбцы как массив:
webix.toCSV($$("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.toCSV($$("table"), {
columns:{
"title":{header: "Title", template: webix.template("#id#.#name#")},
"year":{header: "Year"}
}
});
Столбец будет отображен с установленными дополнительными свойствами, которые могут отличаться от параметров компонента.
webix.ui({
rows:[
{
view:"datatable",
data:grid_data,
columns:[
{id:"title", fillspace:true, template:"Film #title#"}
]
}
]
});
webix.toCSV($$("$datatable1"),{
columns:{
rawValues:false
}
});
webix.toCSV($$("table"), {
columns:{
Custom1:{
template:function(obj){
return "Year " + obj.year;
},
header:"Year"
},
//other columns
title:true
}
});
"Custom1" (может быть использовано любое имя) получает данные из поля year даже если оно не отображено в таблице, но представлено в наборе данных. Поле отображается с width, template и header, которые будут в хедере соответствующего столбца экспортируемой таблицы.
webix.toCSV($$("table"), {
hidden: true
});
Скрытые столбцы/ряды в файле будут видны.
webix.csv.delimiter.cols = ",";
webix.toCSV($$("table"), {
download:false
}).then(function(blob){
//обработка данных
});
webix.toCSV($$("table"), {
ignore: { "votes":true, "rating":true }
});
webix.toCSV($$("table"), {
header:false,
footer:false
});
webix.toCSV($$("data"), {
filter:function(obj){
var found = sel.find(function(item){
return item.id == obj.id;
});
return found;
}
});
Наверх