Синтаксический анализ Excel в JSON

#json #excel

#json #excel

Вопрос:

Я пытаюсь проанализировать данные Excel в JSON, чтобы передать выпадающие списки в HTML. Мне трудно заставить это работать. Я просмотрел весь Интернет. Я новичок в javascript, поэтому нахожу это ошеломляющим.

Кажется, существует много сценариев, и чтобы заставить это работать. Если кто-нибудь может помочь и объяснить, как это настроить, я был бы очень признателен.

Спасибо всем, HAppleknocker

Комментарии:

1. Пожалуйста, предоставьте больше информации: есть ли у вас внутренний сервер? Какой язык вы используете? У вас есть файл Excel в CSV формате или это полнофункциональный Excel файл?

2. Что вы уже пробовали? Вы говорите, что у вас трудные времена, но с чем именно? Вы могли бы взглянуть на библиотеку SheetJS, github.com/SheetJS/js-xlsx

3. Хорошо, посмотрим, смогу ли я объяснить. У меня есть файл Excel (.xlsx), который меняется ежедневно. Например: Имя, Фамилия, название учетной записи, адрес электронной почты. Мне нужно, чтобы эти данные были преобразованы в JSON для загрузки выпадающих меню на веб-сайте. Я не использую сервер. Это всего лишь HTML, CSS и Javascript. Я нашел скрипты онлайн и через SheetJS, но не могу заставить их работать. Кажется, есть несколько файлов javascript, которые должны находиться на компьютере (xlxs.worker.js и другие) Даже когда у меня установлены эти скрипты, они не работают. Все, что мне нужно сделать, это преобразовать информацию о файле Excel и передать ее в выпадающий список в формате HTML.

4. Я нашел эту ссылку oss.sheetjs.com/js-xlsx но как мне заставить это работать? я копирую исходный код, но безуспешно

5. Помогите????пожалуйста!!!

Ответ №1:

В этой статье четко объясняется, как создать объект JSON из файла Excel. После получения объекта JSON в виде строки вы можете использовать его для выполнения чего угодно.

Здесь используется таблица js и пример кода JavaScript, доступного на GitHub.

Как преобразовать данные Excel в объект JSON с помощью JavaScript

 <script>
    $(document).ready(function(){
          $("#fileUploader").change(function(evt){
                var selectedFile = evt.target.files[0]; //Get the ExcelFile
                var reader = new FileReader();
                reader.onload = function(event) {
                  var data = event.target.result;
                  var workbook = XLSX.read(data, {
                      type: 'binary'
                  });
                  workbook.SheetNames.forEach(function(sheetName) {

                      var XL_row_object = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]);
                      var json_object = JSON.stringify(XL_row_object);
                      document.getElementById("jsonObject").innerHTML = json_object;

                    })
                };

                reader.onerror = function(event) {
                  console.error("File could not be read! Code "   event.target.error.code);
                };

                reader.readAsBinaryString(selectedFile);
          });
    });
</script>