Chrome версия : 79.0.3945.130
При использовании библиотеки sheet js
в моем Microsoft Custom Visual app
я столкнулся со следующей проблемой.
private exportAnExcel(data: any, fileName: string){
var workbook: XLSX.WorkBook = { Sheets:
{
'data': this.XLSX.utils.aoa_to_sheet(data)
}, SheetNames: ['data'] };
data = null;
var name: string = fileName + '_' + new Date().getTime() + EXCEL_EXTENSION;
this.XLSX.writeFileSync(workbook, name, (err) => console.log(err));
}
public exportAsExcelFiles(options: VisualUpdateOptions){
console.log('Download started');
var data: any[] = this.parseOptionsToTables(options);
var i: number = 1;
var tempArr: any = [];
var headers: any = [];
headers = data.splice(0, 1);
headers = headers.flatMap(function(x){ return x;});
//I need to load several excel files because the data size can be 1mln+ rows which often crashes
//the application
while(true){
if(data.length == 0){
break;
}
tempArr = data.splice(0, this.visualSettings.dataPoint.chunkSize);
tempArr.unshift(headers);
this.exportAnExcel(tempArr, EXCEL_FILE_NAME + '_' + i.toString());
i+=1;
}
}
//pretend it is the program start
this.exportAsExcelFiles(options);
Проблема в том, что Chrome
блокирует несколько загрузок. Даже если вы измените все настройки, чтобы не делать этого.
![enter image description here](https://i.stack.imgur.com/aK7zn.png)
Я пробовал несколько подходов с обнаружением загрузки файла, используя a href
с blob
и другие, но не смогли решить эту проблему.
Возможно ли это?