Hướng dẫn export base64 to excel angular - xuất base64 sang excel góc

Tôi có một dịch vụ với springboot gửi một tệp (excel) trong base64 đến angular6. Tôi không thể gửi tệp trực tiếp cho chính trị bảo mật, vì vậy, trước tiên tôi chuyển đổi tệp của mình một base64 ...

Trong góc của tôi, tôi có thể nhận được cơ sở64:

 {
  "file" : "UEsDBBQACAAIAJOOOU/kSK2vGAEAADMDAAATAAAAW0NvbnRlbnRfVHlwZXNdLnht" 
 }  

Tệp chuỗi dài hơn ...

Tuy nhiên tôi khi tôi thử mở tệp này, tôi gặp lỗi trong libreoffice, "tệp tham nhũng"

this.data.getFile(endPoint).subscribe( 
          data => {          
                     const myfile= atob(data.file);
                     const blob = new Blob([myfile], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
                     saveAs(blob, 'myfile.xlsx'); 
                  } );

EDIT:

Đó là giá trị "myfile" =>

Hướng dẫn export base64 to excel angular - xuất base64 sang excel góc

Xin vui lòng, tôi cần giúp đỡ ..

Angular không có lỗi khi tôi làm saveAs(blob, 'myfile.xlsx'); nhưng nếu tôi thử mở tệp, tôi sẽ gặp lỗi.

Hello Synfusion Team,

Chúng tôi đang cố gắng xuất hình ảnh sang Excel sau khi chuyển đổi nó thành Base64 nhưng chúng tôi vẫn không nhận được hình ảnh trong Excel

ts.file

asyncexportquerycellinfo (args: excelquerycellinfoeventargs) {exportQueryCellInfo(args: ExcelQueryCellInfoEventArgs){

if (args.column.type == 'hình ảnh') { (args.column.type == 'image') {

if ((argsasany) .name === 'excelquerycellinfo') { ((argsasany).name === 'excelQueryCellInfo') {

/*Phương thức tùy chỉnh của chúng tôi để nhận base64*/

Constimagename = (argsasany) .value? .split ('/');imageName =(argsas any).value?.split('/');

Constimagetype = ImageName [ImageName.length-1] .Split ('.')imageType =imageName[imageName.length-1].split('.')

console.log(imageName[imageName.length-1],imageType[1]).log(imageName[imageName.length-1],imageType[1])

ConstimageInbase64 = Awaitthis.azureImageservice.getImage (ImageName [ImageName.length-1], ImageType [1]);imageInBase64= await this.azureImageService.getImage(imageName[imageName.length-1],imageType[1]);

/*Phương thức tùy chỉnh kết thúc

arg.image = {chiều cao: 75, base64: ImageInbase64, Width: 75};.image = { height: 75, base64:imageInBase64, width:75 };

console.log(args);

}

}

}

{

"dữ liệu": {

****** / TÌM HIỂU

"Chi phí": 12,

"Bán lẻ": 56,

"Hình ảnh": "https: //*********.blob.core.windows.net/my-images/organisation-1/645.png",

****** / TÌM HIỂU

},

"cột": {

****** / TÌM HIỂU *******

"Loại": "hình ảnh",

"Minwidth": 200,

****** / TÌM HIỂU ****

},

"cột": {

****** / TÌM HIỂU *******

"Loại": "hình ảnh",

"Minwidth": 200,

****** / TÌM HIỂU ****

"Giá trị": "https: //*****

"Colspan": 1,

}

},

"cột": {

****** / TÌM HIỂU *******

"Loại": "hình ảnh",

"Minwidth": 200,

****** / TÌM HIỂU ****

}

{

"dữ liệu": {