Вы можете импортировать данные из файла Excel в SpreadSheet одним из способов:
a) указать нужный файл в конструкторе SpreadSheet с помощью параметра url:
webix.ui({
view:"spreadsheet",
url: "binary->../common/test.xlsx",
datatype:"excel"
});
Запись "binary->../common/test.xlsx" позволяет загружать скомпилированные файлы с компьютера и получать их содержимое.
Свойство datatype позволяет анализировать содержимое двоичного файла и получать его в нужной для SpreadSheet форме.
b) вызвать метод load:
$$("ssheet").load("binary->../common/test.xlsx", "excel");
Параметры метода:
c) использовать метод parse для загрузки данных в компонент:
{ view:"uploader", value:"Load from Excel file", on:{
onBeforeFileAdd: function(upload){
$$("ssheet").reset();
$$("ssheet").parse(upload.file, "excel");
return false;
}
}}
Параметры метода:
SpreadSheet позволяет импортировать настройки из файла Excel. Стили, ширина столбцов и высота строк импортируются по умолчанию. Также вы можете импортировать:
Для этого задайте свойству math значение true (если не задано).
webix.ui({
view: "spreadsheet",
data: base_data,
math: true
});
Чтобы импортировать объединения столбцов и строк, задайте свойству spans значение true в настройках SpreadSheet config:
webix.ui({
view: "spreadsheet",
data: base_data,
spans: true
});
По умолчанию Spreadsheet показывает только первый импортированный лист. Чтобы просмотреть все листы, установите значение bottombar:true или toolbar:"full" в конфигурации SpreadSheet:
webix.ui({
view:"spreadsheet",
data: base_data,
toolbar: "full" // или bottombar:true
});
Вы можете переключаться между листами с помощью метода showSheet(name):
$$("ssheet").showSheet("Tab 1");
SpreadSheet позволяет импортировать даты в Webix формате.
Стили по умолчанию импортируются из файла Excel. Однако вы можете отключить загрузку стилей для ускорения импорта данных, отключив свойство конфигурации loadStyles:
webix.ui({
view:"spreadsheet",
loadStyles:false,
data:spreadsheet_data
});
Related sample: Spreadsheet: loadStyles
По умолчанию стили пустых ячеек не импортируются из файла Excel из соображений производительности, но при необходимости вы можете включить импорт стилей пустых ячеек. Для этого задайте свойству sheetStubs значение true в конфигурации Spreadsheet:
webix.ui({
view:"spreadsheet",
toolbar:"full",
sheetStubs:true,
data:spreadsheet_data
});
Чтобы границы ячеек отображались в стиле Excel (как общие для соседних ячеек), вы можете включить свойство borderCollapse в конфигурации Spreadsheet.
Вы можете настраивать представление загружаемых данных: устанавливать название листа, контролировать число загружаемых строк.
webix.ui({
view:"spreadsheet",
url: "binary->../common/test.xlsx@Data[0-10]",
datatype:"excel"
});
Строковое значение "binary->files/data.xlsx@Data[1-10]" свойства url состоит из следующих частей:
Чтобы отобразить строки начиная с определенной, задайте массив строк как [8-].
Related sample: Import from Excel
Зависимости, необходимые для импорта данных из файлов Excel в SpreadSheet, обычно берутся из онлайн-каталога Webix CDN. Чтобы импортировать данные офлайн, необходимо выполнить следующие шаги:
1. Скачайте пакет с CDN файлами из https://github.com/webix-hub/cdn-extras
Для версий Webix ранее 5.0 используйте xlsx.core.min.js.
Для версий Webix выше 5.0 - xlsx.core.styles.min.js.
2. Переименуйте папку на "extras" и переместите в нужную директорию.
3. Задайте путь к локальному CDN репозиторию:
webix.env.cdn = "/local_folder";
Задавая путь к локальному CDN репозиторию, обратите внимание на некоторые особенности.
webix.env.cdn = "../../../../local_folder";
webix.env.cdn = "http://localhost/local_folder";
Вы можете сравнить, какие элементы и настройки SpreadSheet можно импортировать и экспортировать в Excel.
Наверх