Экспорт Данных

Данные SpreadSheet можно экспортировать в Excel, PDF, CSV и PNG форматы. Для того, чтобы экспортировать данные из SpreadSheet в файл нужного формата, необходимо вызвать соответствующий метод: toPDF, toPNG, toExcel или toCSV. Экспорт в Excel будет выглядеть следующим образом:

webix.ui({
    id:"ss1",
    view:"spreadsheet",
    data: sheet1_data
});
 
webix.toExcel("ss1");

По умолчанию данные SpreadSheet экспортируются в любой формат со следующими настройками:

  • header:false - хедер листа не экспортируется
  • rawValues:true - все столбцы набора данных экспортируются
  • spans:true - объединения колонок и строк экспортируются
  • styles:true - стили экспортируются
  • math:true - математические формулы экспортируются
  • ignore:{ rowId:true } - столбец с ID строк не экспортируются
  • hidden:true - скрытые столбцы и ряды скрыты в Excel файле. Пользователи могут отобразить их с помощью соответствующих контролов в Excel таблице

Вы можете изменять настройки экспорта, передавая их во втором параметре метода. Например:

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

Настройки экспорта в Excel

Настройки SpreadSheet для экспорта в файл Excel:

  • математические формулы

Чтобы включить математические формулы в экспортируемый файл, задайте math:true.

webix.toExcel($$("ss1"),{ math:true });

Spreadsheet поддерживает именованные диапазоны только для конкретных листов, глобальные именованные диапазоны не будут экспортироваться.

  • стили для ячеек

Стили экспортируются по умолчанию. Если вы не хотите экспортировать стили, передайте настройку styles:false.

webix.toExcel($$("ss1"), { styles:true });
  • условное форматирование

Вы можете экспортировать стили условного форматирования с помощью conditions:true (по умолчанию).

webix.toExcel($$("ss1"), { conditions:true });
  • column and row spans

Объединения колонок и строк экспортируются по умолчанию. Если вы не хотите их экспортировать, установите spans:false:

webix.toExcel($$("ss1"), { spans:true });
  • скрытые столбцы и ряды

Cкрытые столбцы и ряды изначально скрыты и в конечном Excel файле. Пользователи могут отобразить их с помощью соответствующих контролов в таблице Excel. Если вы не хотите включать их в экспортируемый файл, укажите свойству hidden значение false:

webix.toExcel($$("ss1"), { hidden:false });
  • высота строк

Это настройка по умолчанию false и принимает следующие значения:

  • true - экспортирует только пользовательские настройки для высоты строк (которые отличаются от заданных по умолчанию в rowHeight);
  • "all" - экспортирует все настройки;
  • 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 с пользовательской темой

Если вы используете для 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"
}

Настройки экспорта в PDF

При экспорте SpreadSheet в PDF вы можете настроить следующие моменты:

  • математические формулы

Чтобы включить математические формулы в экспортируемый файл, задайте math:true.

webix.toPDF($$("ss1"),{ math:true});

Обратите внимание, что при значении false, будет экспортировано значение формулы, а не сама формула.

  • стили ячеек

Чтобы включить стили ячеек в экспорт, укажите true свойству styles:

webix.toPDF($$("ss1"), { styles:true });
  • условное форматирование

Вы можете экспортировать условное форматирование с помощью conditions:true (по умолчанию).

webix.toExcel($$("ss1"), { conditions:true });
  • row spans

Если вы хотите экспортировать объединения рядов, установите spans:true:

webix.toPDF($$("ss1"), { spans:true });
  • скрытые столбцы и ряды

По умолчанию скрытые ряды и столбцы не включены в экспортируемый файл. Чтобы включить их, укажите свойству hidden значение true:

webix.toPDF($$("ss1"), { hidden:true });

Скрытые столбцы/ряды будут видны в экспортированном файле.

  • высота рядов

По умолчанию у этого свойства значение false. Свойство принимает следующие параметры:

  • true - экспортирует только пользовательские настройки для высоты рядов (которые отличаются от заданных по умолчанию в rowHeight);
  • "all" - экспортирует все настройки;
  • false - значение по умолчанию, высота рядов не экспортируется.
webix.toPDF($$("ss1"), {
   heights:true
});

Если указано свойство styles:true, то параметр heights автоматически берёт значение "all".

  • multiple sheets

По умолчанию 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 офлайн. Сделать это можно так же, как и для других компонентов.

Какие элементы/настройки экспортируются в Excel

  • данные (включая математику и даты)
  • шрифт
  • размер шрифта (px конвертируется в pt)
  • полужирный, курсив, подчеркнутый, зачеркнутый шрифт
  • цвет фона
  • цвет шрифта
  • границы ячеек
  • горизонтальное выравнивание
  • вертикальное выравнивание
  • размеры строк/колонок (px конвертируется в pt)
  • скрытые строки/колонки
  • объединенные ячейки
  • перенос текста в ячейке
  • отступы
  • числовой формат
  • именованные диапазоны
  • условное форматирование (сохраняет цвет шрифта и фона)
  • ссылки
  • видимость листа
  • чекбоксы/радиокнопки (экспортируются как TRUE/FALSE)

Вы можете сравнить, какие элементы и настройки SpreadSheet можно импортировать и экспортировать в Excel.

Наверх
If you have not checked yet, be sure to visit site of our main product Webix javascript ui framework and page of web based spreadsheet product.