#javascript #vue.js #tabulator
#javascript #vue.js #табулятор
Вопрос:
Хотел бы попросить о помощи, в настоящее время я использую Tabulator (4.9) вместе с Vue. У меня возникли проблемы с загрузкой / экспортом моих данных в Excel. Я уже включил SheetJS в свой проект, как указано на странице Tabulator.
Следующее выдает ошибку, что XLSX не определен:
import 'xlsx/dist/xlsx.full.min.js'
this.tabulator.download('xlsx', 'data.xlsx')
Но как только я включаю XLSX, он сообщает мне «Ошибка загрузки — такой тип загрузки не найден«:
import XLSX from 'xlsx/dist/xlsx.full.min.js'
this.tabulator.download(XLSX, 'data.xlsx')
Очень хотелось бы знать, не упускаю ли я чего-то.
Спасибо.
Ответ №1:
Ваш первый подход правильный, вы должны вызывать функцию загрузки и передавать xlsx
строку
this.tabulator.download('xlsx', 'data.xlsx');
Проблема в том, что табулятор ожидает найти объект XLSX в window
объекте (или global
объекте, если это проект узла), поскольку именно туда помещается библиотека при извлечении из CDN.
Итак, в вашем случае ваш импорт должен быть:
import XLSX from 'xlsx/dist/xlsx.full.min.js';
window.XLSX = XLSX;
Комментарии:
1. ооо, попробую это, как только смогу! ^^
2. эй, я смог протестировать это, и это устранило мою проблему! Спасибо! ^^
Ответ №2:
Я не пробовал использовать tabulator. Вы можете снова просмотреть его документацию, чтобы увидеть, не упустили ли вы что-то. В противном случае я использовал vue-json-csv. Вы можете импортировать его глобально и вызывать его в любом месте, где захотите, в своих шаблонах.
<DownloadCsv :data="exportData" name="export.csv">
<button class="mr-2">Export to csv</button>
</DownloadCsv>
Требуется data
prop, который будет набором данных json, который вы хотите экспортировать в Excel. И name
реквизит, это будет имя файла экспорта при его создании.
Комментарии:
1. Спасибо, постараюсь разобраться и в этом. Но в основном мне нужна была HTML-таблица для Excel.
2. Этот ответ на самом деле не решает проблему, он просто вводит в микс другую библиотеку