Передача файла Excel в memoryStream в веб-интерфейс повреждена - PullRequest
1 голос
/ 18 июня 2019

Я использую Angular 7 с .NET 3.5 с C # для создания файла xlsx. Я использую openXML SDK. Я не могу вставить весь код из-за корпоративных правил, но знаю, что файл создается правильно, когда я сохраняю его на сервере, у меня нет повреждений

задняя часть Я создаю свой файл, который работал нормально, когда я сохраняю его на сервере

 MemoryStream ms = new MemoryStream();
using (SpreadsheetDocument document = SpreadsheetDocument.Create(ms, SpreadsheetDocumentType.Workbook))
byte[] xlsxInBytes;
string xslxBase64;

мой код для заполнения файла

код, чтобы сохранить его и поставить его на базу 64

workbookPart.Workbook.Save();
xlsxInBytes = ms.ToArray();
xslxBase64 = Convert.ToBase64String(xlsxInBytes);
return Ok(xslxBase64);

передний конец

downloadFile(data: string, contentType: string) {
    // const contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
    const blob = new Blob([data], { type: contentType });
    // const url = window.URL.createObjectURL(blob);

    // const test = atob(data);
    console.log(blob);
    const downloadLink = document.createElement('a');
    document.body.appendChild(downloadLink);
    downloadLink.href = 'data:application/' + contentType + ';base64, ' + encodeURI(blob.);
    downloadLink.download = 'title.xlsx';
    downloadLink.click();
    document.body.removeChild(downloadLink);
    // window.open(url);
  }

когда я открываю файл, он говорит, что он поврежден

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