#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>