Следуя этому вопросу на stack, и этот stackblitz, кажется, что таблица материалов не полностью экспортируется в Excel, если при разбивке на страницы не отображаются все данные.
Поэтому вместо этого я экспортирую массив целиком, но проблема в том, что в основных именах полей отображаются индексы, а не имена:
Так что вместо:
exportTable()
{
//let data = Object.values(this.dataSource);
const ws: xlsx.WorkSheet=xlsx.utils.table_to_sheet(data);
const wb: xlsx.WorkBook = xlsx.utils.book_new();
xlsx.utils.book_append_sheet(wb, ws, 'All Ind. Searched Data Export');
/* save to file */
xlsx.writeFile(wb, 'ExportAllData_Ind.xlsx');
}
Я изменился на:
exportTable()
{
let data = Object.values(this.dataSource);
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 Ind. Searched Data Export');
/* save to file */
xlsx.writeFile(wb, 'ExportAllData_Ind.xlsx');
}
Проблема в том, что экспортированный Excel устанавливает имена полей в индексы, а затем добавляет в конце настоящие имена полей:
Я знаю, что это связано с массивами, но как я могу экспортировать массив только с частью имени поля.