Вы можете экспортировать компоненты в PNG, Excel, PDF, и CSV форматы.
Экспорт доступен как в стандартной, так и в pro версиях.
Компоненты не требуют какой-либо дополнительной конфигурации для экспорта. Чтобы экспортировать компонент в один из поддерживаемых форматов, вызовите соответствующий метод:
webix.ui({
view:"list",
id: "mylist",
// конфигурация списка
});
webix.toExcel($$("mylist"));
Методы для экспорта возвращают промисы с содержимым файла для скачивания. Поэтому при необходимости вы можете получить необработанные данные экспортируемого файла (blob объект). Например:
webix.toPNG($$("mylist")).then(function(blob){
// логика для обработки blob
});
Например, вам может потребоваться отключить скачивание файла и обработать данные так, как вы хотите.
У всех 4 методов для экспорта есть общие настройки кастомизации:
С помощью свойства download: false вы можете заблокировать возможность скачивания файла:
webix.toPNG($$("table"), {
download:false
}).then(function(blob){
// обработка данных
});
Чтобы исключить какие-либо столбцы из экспорта, определите свойство ignore как хэш для необходимых столбцов. Например:
webix.toCSV($$("table"), {
ignore: { "votes":true, "rating":true }
});
Работает для Excel, PDF, CSV
Вы можете исключить все HTML тэги из содержимого ячеек с помощью свойства filterHTML:
webix.toExcel($$("table"), {
filterHTML:true
});
Работает для Excel, PDF, CSV
Существует два способа, с помощью которых вы можете указать произвольные столбцы для экспорта(зависит от того, важен ли вам порядок столбцов):
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").
Работает для Excel, PDF, CSV
Вы можете включить дополнительные поля в экспорт, оформив их в функции для экспорта:
webix.toPDF($$("mylist"), {
columns:{
Custom1:{
template:function(obj){
return "Year " + obj.year;
},
width:50,
header:"Year"
},
// другие столбцы
title:true
}
});
"Custom1" (можно использовать любое имя) получает данные из поля year, даже если поля не видно в компоненте, но он присутствует в данных. У нового столбца будут width, template, и header.
Работает для Excel, PDF, CSV форматов.
По умолчанию скрытые столбцы/ряды не включены в экспортируемый файл. Вы можете добавить их в экспорт, указав свойству hidden значение true:
webix.toExcel($$("datatable1"), {
hidden: true
});
При экспорте данных в excel формат, скрытые столбцы/ряды будут изначально скрыты в файле. Пользователи могут отобразить их с помощью соответствующих контролов в таблице.
При экспорте в PDF или CSV форматы скрытые столбцы/ряды будут видны в файле.
Работает для Excel, PDF, CSV
Чтобы отфильтровать данные для экспорта, определите функцию filter, которая должна возвращать данные для экспорта:
webix.toCSV($$("data"), {
filter:function(obj){
var found = sel.find(function(item){
return item.id == obj.id;
});
return found;
}
});
Related sample: Specifying Data Items for Export
Работает для Excel, PDF, CSV
Вы можете менять данные для экспорта с помощью ключа $export поля data scheme:
webix.ui({
view:"list",
id:"mylist",
scheme:{
$export:function(obj){
return { value:obj.value, date:webix.i18n.parseFormatStr(obj.date) };
}
}
});
webix.toExcel($$("mylist"));
Related sample: Changing Item Data in Export
Работает для Excel, PDF, CSV
Вы можете кастомизировать выходные данные иерархических компонентов (Tree и Treetable) следующим образом:
webix.toCSV($$("mytreetable"), {
plainOutput:true
});
webix.toCSV($$("mytreetable"), {
flatTree:{
id:"value",
columns:[
{ header:"Title" },
{ header:"Section" },
{ header:"Subsection" }
]
}
});
Свойство flatTree включает в себя следующие параметры:
Related sample: Export to PDF, Excel