Данные 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
});
По умолчанию пустые ячейки могут перекрываться значениями соседних ячеек (например, длинным текстом без переносов). Чтобы этого не происходило, добавьте в параметры экспорта stubCells: true:
webix.toExcel($$("ss1"), {
stubCells:true
});
По умолчанию SpreadSheet позволяет экспортировать изображения и графики (как изображения) в Excel. Для отключения экспорта изображений необходимо передать в параметр images значение false:
webix.toExcel($$("ss1"), { images: false });
Вы можете экспортировать фиксированные строки и столбцы в Excel. Для этого вам нужно передать в параметр freeze значение true:
webix.toExcel($$("ss1"), { freeze:true });
С помощью настройки параметров вы можете установить видимость редактора формул, линий сетки и заголовков строк и столбцов, сделав их видимыми или скрытыми в экспортируемом файле. Для этого используйте параметры formulasMode, gridlines и headers соответственно в свойствах конфигурации SpreadSheet.
Данным параметрам могут быть заданы значения true/false или "auto". При использовании настройки "auto" видимость редактора формул, линий сетки или заголовков будет зависеть от текущего состояния.
webix.toExcel($$("ss1"), {
formulasMode: true,
gridlines: true,
headers: true
});
Вы можете указать необходимый масштаб при экспорте SpreadSheet в файл Excel, используя параметр zoom. Его можно задать как число, определяющее необходимый масштаб в процентах, или передать ему значение "auto" для экспорта SpreadSheet в его текущем состоянии.
webix.toExcel($$("ss1"), {
zoom: "auto"
});
Вы можете сравнить, какие элементы и настройки SpreadSheet можно импортировать и экспортировать в Excel.
Если вы используете для 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 офлайн. Сделать это можно так же, как и для других компонентов.
Наверх