Заполнение XLSX: «Ошибка: не удается найти конец центрального каталога: это zip-файл?»- в Angular
Мне трудно из-за ошибки, генерируемой Angular при использовании XSLX Populate.
Ошибка:
main.c8862013051d6e746aa1.js:1 ERROR Error: Uncaught (in promise): Error: Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html
Error: Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html
at u.readEndOfCentral (main.c8862013051d6e746aa1.js:1)
at u.load (main.c8862013051d6e746aa1.js:1)
at main.c8862013051d6e746aa1.js:1
at e.invoke (polyfills.f6ae3e8b63939c618130.js:1)
at Object.onInvoke (main.c8862013051d6e746aa1.js:1)
at e.invoke (polyfills.f6ae3e8b63939c618130.js:1)
at t.run (polyfills.f6ae3e8b63939c618130.js:1)
at polyfills.f6ae3e8b63939c618130.js:1
at e.invokeTask (polyfills.f6ae3e8b63939c618130.js:1)
at Object.onInvokeTask (main.c8862013051d6e746aa1.js:1)
at j (polyfills.f6ae3e8b63939c618130.js:1)
at j (polyfills.f6ae3e8b63939c618130.js:1)
at polyfills.f6ae3e8b63939c618130.js:1
at e.invokeTask (polyfills.f6ae3e8b63939c618130.js:1)
at Object.onInvokeTask (main.c8862013051d6e746aa1.js:1)
at e.invokeTask (polyfills.f6ae3e8b63939c618130.js:1)
at t.runTask (polyfills.f6ae3e8b63939c618130.js:1)
at d (polyfills.f6ae3e8b63939c618130.js:1)
at t.invokeTask [as invoke] (polyfills.f6ae3e8b63939c618130.js:1)
at _ (polyfills.f6ae3e8b63939c618130.js:1)
Мой код состоит вЧитатель для файлов шаблонов .XSLX, а затем заполняет их данными из базы данных Firecloud.
Код:
exportData() {
var selectedCert = this.selection.selected;
var filepath = "";
var xmlhttp = new XMLHttpRequest();
switch (selectedCert.map((data => data.IDTipo)).toString()) {
case "R101180813F":
filepath = "src/app/preciso-explorer/templates/preciso-medidor-pressao.xlsx";
break;
case "R05150707I-3":
filepath = "src/app/preciso-explorer/templates/preciso-termohigrometro3.xlsx";
break;
case "R100180915F":
filepath = "src/app/preciso-explorer/templates/preciso-vidraria-graduada.xlsx";
break;
case "R101181123A":
filepath = "src/app/preciso-explorer/templates/preciso-medidor-pressao102.xlsx";
break;
}
xmlhttp.open("GET", filepath, true);
xmlhttp.responseType = "arraybuffer";
xmlhttp.onreadystatechange = function () {
console.log("xmlHttp: stateChange ok");
if (xmlhttp.readyState === 4) {
console.log("xmlHttp: State 4 ok");
if (xmlhttp.status === 200) {
console.log("xmlHttp: Status 200 ok");
XLSX.fromDataAsync(xmlhttp.response).then(workbook => {
console.log("dataAsync ok");
if (selectedCert != null) {
var id = (selectedCert.map(data => data["ID"]).toString());
switch (selectedCert.map((data => data.IDTipo)).toString()) {
case "R101180813F": [...]
Я уже пытался хранить файлы где-то еще, но безуспешно после нескольких попыток.