Я могу экспортировать массив javascript в csv, но при изменении расширения файла на xslx.
Пожалуйста, дайте мне знать, в чем может быть проблема при изменении расширения на xslx.
пожалуйста, найдите фрагмент кода, работающий для csv, а не для xslx.
function Export2Excel(data) {
var tempCSVNumber = 0;
var CSVData = [];
var str = '';
$("#ddlFilterlist > option").each(function () {
str += '"' + this.value + '",';
});
CSVData.push(str);
for (var i = tempCSVNumber; i <= data.length - 1; i++) {
var item = data[i];
var csvVal = '';
var hString = str .substring(0, str .length - 1);
result = hString
.split(',')
.map(key => {
var val = item[key.toUpperCase()
.replace(/"/g, '')];
csvVal += '"' + val + '",';
return csvVal;
})
CSVData.push(csvVal);
}
var CSVFileName = 'Test.xlsx';
var csvData = CSVData.join("\n");
if ((navigator.userAgent.indexOf("MSIE") != -1) || (navigator.userAgent.indexOf("Edge") != -1) || (!!document.documentMode == true)) {
blob = new Blob([csvData], {
//"type": "text/csv;charset=utf8;"
//"type": "application/octet-stream;"
//"type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
//"type":"application/vnd.ms-excel;"
"type": "data:application/vnd.ms-excel;"
//data: attachment / xlsx
});
if (navigator.msSaveBlob) { // IE 10+
navigator.msSaveBlob(blob, CSVFileName);
}
}
else {
var blob = new Blob([csvData],
//{ type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" });
//{ type: "application/octet-stream" });
// { type: 'text/csv;charset=utf8;' });
// { type: "data:attachment/xlsx;" });
{ type: 'data:application/vnd.ms-excel' });
}
var csvUrl = URL.createObjectURL(blob);
var link = document.createElement("a");
link.setAttribute("href", csvUrl);
link.setAttribute("download", CSVFileName);
link.setAttribute("target", '_blank');
link.style.visibility = 'hidden';
document.body.appendChild(link);
if (link.click !== undefined)
link.click();
else if (document.createEvent) {
var eventObj = document.createEvent('MouseEvents');
eventObj.initEvent('click', true, true);
link.dispatchEvent(eventObj);
}
document.body.removeChild(link);
}
}
Я попытался изменить разные типы данных blob, но он не работает.
вот ошибка при попытке открыть загруженный xslx файл ![enter image description here](https://i.stack.imgur.com/cPVIr.png)