Мне нужно экспортировать таблицу данных углового материала в файл Excel, используя библиотеку xlsx
.
Проблема заключается в том, что, если я использую нумерацию страниц в таблице данных и при экспорте, только видимыестроки экспортируются:
exportTable()
{
//let data = Object.values(this.dataSource);
const ws: xlsx.WorkSheet=xlsx.utils.table_to_sheet(this.table.nativeElement);
const wb: xlsx.WorkBook = xlsx.utils.book_new();
xlsx.utils.book_append_sheet(wb, ws, 'All Data Export');
/* save to file */
xlsx.writeFile(wb, 'ExportAllData.xlsx');
}
Я пытался экспортировать его, используя json_to_sheet()
:
exportTable()
{
let data = this.allData;
const ws: xlsx.WorkSheet=xlsx.utils.json_to_sheet(data);
const wb: xlsx.WorkBook = xlsx.utils.book_new();
xlsx.utils.book_append_sheet(wb, ws, 'All Data Export');
/* save to file */
xlsx.writeFile(wb, 'ExportAllData.xlsx');
}
Но теперь заголовок теперь является индексами, а не заголовками полей.
Здесьтакое stackblitz , описывающее проблему.
Должен ли я использовать второй метод, добавив строку заголовка в массив с помощью .push()
и затем загрузив ее?Или лучше использовать библиотеку ng-table-export
?