Данные SpreadSheet можно экспортировать в Excel, PDF, CSV и PNG форматы. Для того, чтобы экспортировать данные из SpreadSheet в файл нужного формата, необходимо вызвать соответствующий метод: toPDF, toPNG, toExcel или toCSV. Экспорт в Excel будет выглядеть следующим образом:
webix.ui({
id:"ss1",
view:"spreadsheet",
data: sheet1_data
});
webix.toExcel("ss1");
По умолчанию данные SpreadSheet экспортируются в любой формат со следующими настройками:
Вы можете изменять настройки экспорта, передавая их во втором параметре метода. Например:
var options = {
header:true,
rawValues:false,
spans:false,
styles:false,
math:false,
ignore:{ colId:true }
};
webix.toExcel("ss1", options);
Related sample: Export to .xlsx, .pdf and .png
Настройки SpreadSheet для экспорта в файл Excel:
Чтобы включить математические формулы в экспортируемый файл, задайте math:true
.
webix.toExcel($$("ss1"),{ math:true });
Spreadsheet поддерживает именованные диапазоны только для конкретных листов, глобальные именованные диапазоны не будут экспортироваться.
Стили экспортируются по умолчанию. Если вы не хотите экспортировать стили, передайте настройку styles:false
.
webix.toExcel($$("ss1"), { styles:true });
Вы можете экспортировать стили условного форматирования с помощью conditions:true (по умолчанию).
webix.toExcel($$("ss1"), { conditions:true });
Объединения колонок и строк экспортируются по умолчанию. Если вы не хотите их экспортировать, установите spans:false
:
webix.toExcel($$("ss1"), { spans:true });
Cкрытые столбцы и ряды изначально скрыты и в конечном Excel файле. Пользователи могут отобразить их с помощью соответствующих контролов в таблице Excel. Если вы не хотите включать их в экспортируемый файл, укажите свойству hidden значение false:
webix.toExcel($$("ss1"), { hidden:false });
Это настройка по умолчанию false
и принимает следующие значения:
webix.toExcel($$("ss1"), {
heights:true
});
Если установлена настройка styles:true
, параметр heights автоматически устанавливается как "all".
По умолчанию Spreadsheet экспортирует в Excel файл текущий открытый лист. Вы также можете:
1) экспортировать все листы:
webix.toExcel($$("ss1"), { sheets:true });
2) экспортировать некоторые листы по их ID:
webix.toExcel($$("ss1"), { sheets:[ "s1","s2" ] });
3) экспортировать один лист по его ID:
webix.toExcel($$("ss1"),{sheets:"s2"});
По умолчанию хедер листа не экспортируется. Чтобы экспортировать его, задайте настройку header:true:
webix.toExcel($$("ss1"), {
header:true
});
stub cells
Ячейки без значений могут оставаться пустыми, но при этом занимать соответствующее место в таблице, или же значения соседних ячеек будут игнорировать пустую ячейку и перекрывать её.
Чтобы пустые ячейки игнорировались, укажите свойству stubCells
значение true
:
webix.toExcel($$("ss1"), {
stubCells:true
});
Если вы используете для SpreadSheet пользовательскую тему, необходимо задать дефолтные стили для экспорта в Excel. Это означает, что вам нужно использовать копию ваших стилей из CSS файла при создании темы, чтобы они корректно экспортировались в Excel. Например:
webix.skin[skin_name].spreadsheet = {
"color": "#666666",
"background" : "#ffffff",
"font-family": "'PT Sans', Tahoma",
"font-size": "15",
"text-align": "left",
"vertical-align": "middle",
"white-space": "nowrap"
}
При экспорте SpreadSheet в PDF вы можете настроить следующие моменты:
Чтобы включить математические формулы в экспортируемый файл, задайте math:true
.
webix.toPDF($$("ss1"),{ math:true});
Обратите внимание, что при значении false, будет экспортировано значение формулы, а не сама формула.
Чтобы включить стили ячеек в экспорт, укажите true свойству styles:
webix.toPDF($$("ss1"), { styles:true });
Вы можете экспортировать условное форматирование с помощью conditions:true (по умолчанию).
webix.toExcel($$("ss1"), { conditions:true });
Если вы хотите экспортировать объединения рядов, установите spans:true
:
webix.toPDF($$("ss1"), { spans:true });
По умолчанию скрытые ряды и столбцы не включены в экспортируемый файл. Чтобы включить их, укажите свойству hidden значение true:
webix.toPDF($$("ss1"), { hidden:true });
Скрытые столбцы/ряды будут видны в экспортированном файле.
По умолчанию у этого свойства значение false. Свойство принимает следующие параметры:
webix.toPDF($$("ss1"), {
heights:true
});
Если указано свойство styles:true, то параметр heights автоматически берёт значение "all".
По умолчанию Spreadsheet экспортирует только текущий лист. Однако вы можеет выбрать один из трёх возможных вариантов:
1) экспортировать все листы:
webix.toPDF($$("ss1"), { sheets:true });
2) экспортировать некоторые листы по их ID или объектам:
webix.toPDF($$("ss1"), { sheets: [
{id:"Sheet1", options:{display"image"}},
{id:"Sheet2"},
"Sheet3"]
});
3) экспортировать отдельные листы по их ID:
webix.toPDF($$("ss1"),{sheets:"s2"});
По умолчанию хедер листа не экспортируется. Чтобы экспортировать его, задайте настройку header:true:
webix.toPDF($$("ss1"), {
header:true
});
Вы можете экспортировать данные SpreadSheet офлайн. Сделать это можно так же, как и для других компонентов.
Вы можете сравнить, какие элементы и настройки SpreadSheet можно импортировать и экспортировать в Excel.
Наверх