Получение окна с предупреждением при экспорте массива JSON в Excel с использованием javascript - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь экспортировать данные массива JSON в Excel.

Вот образец данных Json массива

jsonResult.Products[{PRODUCT_ID: 123, PRODUCT_NUMBER: "00022", PRODUCT_NAME: "HONDA", PRODUCT_TYPE: "VEHICLE "},
{PRODUCT_ID: 783, PRODUCT_NUMBER: "08412394", PRODUCT_NAME: "HONDA", PRODUCT_TYPE: "MOTOR "}......]

Все в порядке и данные можно просматривать, но я Я получаю всплывающее сообщение при открытии файла и при нажатии «Да» могу видеть правильные данные в Excel.Ho, чтобы не показывать всплывающее окно. enter image description here

Вот фрагмент кода, используемый для экспорта в Excel.

function Export2Excel(data) {
        var excelData = [];
        var colStr = '';
        $("#ddlSelectedlist > option").each(function () {

            colStr += '"' + this.value + '",';
        });

        excelData.push(colStr);

        for (var i = 0; i <= data.length - 1; i++) {
            var item = data[i];
            var cellVal = '';
            var headerString = colStr.substring(0, colStr.length - 1);
            result = headerString
                .split(',')
                .map(key => {
                    var val = item[key.toUpperCase()
                        .replace(/"/g, '')];

                        cellVal += '"' + val + '"\t';
                    }
                    return cellVal;
                })

            excelData.push(cellVal);
        }

        var fileName = 'Test.xlsx';
        var xlData = excelData.join("\n");
        if ((navigator.userAgent.indexOf("MSIE") != -1) || (navigator.userAgent.indexOf("Edge") != -1) || (!!document.documentMode == true)) {

            blob = new Blob([xlData], {
                "type": "data:application/vnd.ms-excel;charset=utf8;"

            });
            if (navigator.msSaveBlob) { // IE 10+
                navigator.msSaveBlob(blob, fileName);
            }
        }
        else {
             var blob = new Blob([xlData],
                 { type: 'application/vnd.ms-excel;charset=utf8;' });

            var excelUrl = URL.createObjectURL(blob);
            var link = document.createElement("a");
            link.setAttribute("href", excelUrl);
            link.setAttribute("download", fileName);
            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);
        }

    }

Пожалуйста, дайте мне знать, как я могу решить проблему и загрузить файл без предупреждения всплывающее окно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...