Как я могу импортировать данные из Excel (xlsx, csv) на HTML-страницу с помощью JavaScript?

ЧАС! У меня есть файлы .xlsx и .html. Как я могу импортировать файл xlsx в свой html-файл с помощью JavaScript, я уже смотрел «Линда: базовое обучение JavaScript» Саймона Аллардайса и понятия не имел, как это сделать! Много гуглил и до сих пор здесь. Пробовал подобные вопросы ... Просто нужен скрипт, чтобы скопировать его в мой html-файл, а затем мой html-файл сможет прочитать xlsx и отобразить его в браузере!


person Modj    schedule 11.01.2015    source источник
comment
В вашей формулировке вопрос не имеет никакого смысла.   -  person PM 77-1    schedule 11.01.2015


Ответы (1)


Вы можете использовать библиотеку Alasql JavaScript SQL, которая имеет специальные функции для чтения файлов XLSX и размещения их на HTML-странице. Он использует библиотеку js-xlsx для чтения файлов XLSX.

Отказ от ответственности: я являюсь автором Alasql.

В этом примере:

  • Alasql берет файл Excel с cdn.rawgit.com (вы можете заменить его своим адресом
  • Alasql поместил таблицу результатов в DIV с id="res" - вы можете изменить имя или добавить CSS для приукрашивания таблицы результатов.
  • Флаг {headers:true} означает, что Alasql читает и записывает заголовки
  • Вы также можете читать файлы CSV — просто замените XLSX() на CSV() в примере.
  • Для производственных целей загрузите alasql.min.js и xlsx.core.min.js на свой сервер или используйте CDN.

См. фрагмент рабочего кода ниже:

alasql('select * into html("#res",{headers:true}) \
  from xlsx("https://cdn.rawgit.com/agershun/alasql/version-0.0.36/test/test168.xlsx",\
            {headers:true})')
<script src="https://cdn.jsdelivr.net/alasql/0.3/alasql.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.7.12/xlsx.core.min.js"></script>

<div id="res"></div>

person agershun    schedule 11.01.2015
comment
Большое спасибо. Как я могу применить границы и цвета к этим результатам? Есть ли способ применить макеты, формулы и форматирование? - person Modj; 11.01.2015
comment
Для границ и макета необходимо добавить правила CSS, см. пример в jsFiddle (jsfiddle.net/agershun/968zrcks< /а>). Для формул: если вы хотите сохранить формулу Excel - вам нужно напрямую перейти на js-xlsx (github.com/ SheetJS/js-xlsx). Он имеет функциональность для чтения формул из электронной таблицы. Если вам нужны простые предопределенные формулы, вы можете использовать функцию SELECT Alasql, например: SELECT *, Population*100 AS NewPop FROM XLSX(mydata.xlsx,{headers:true}) - person agershun; 11.01.2015
comment
Другой пример со стандартными и определяемыми пользователем формулами для обработки и форматирования данных: jsfiddle.net/agershun/6dycw1jz/ 2. Если этот подход вас устраивает, я могу добавить в библиотеку стандартные функции форматирования. - person agershun; 11.01.2015
comment
Способ CSS был в порядке и очень хорошо мне помог, еще раз спасибо. Теперь мне было интересно, могу ли я отметить определенные места для каждого td и показать там содержимое. И округлите ячейки B, C и D до 1 десятичного знака. - person Modj; 11.01.2015
comment
Это пример: jsfiddle.net/agershun/LcqjLun6/2 Он читает данные с городами из XLSX и считывает данные карты из файла JSON, а затем помещает названия городов на карту в их позиции. - person agershun; 11.01.2015
comment
@agershun У меня есть одна проблема, я думаю использовать Alasql для экспорта в Excel. Я хочу какой-нибудь css, например жирный заголовок и цветную линию между заголовком и данными. Является ли это возможным?? потому что я видел несколько примеров, но не нашел их. - person amitkumar12788; 23.02.2015
comment
В настоящее время библиотека XLSX-JS не поддерживает раскрашивание. Думаю добавить дополнительную функцию экспорта на основе другой библиотеки - person agershun; 23.02.2015