下载 base 64 到 xls
download base 64 to xls
Base 64数据如下。
UEsDBBQAAAAIAIlimE8HQU1igQAAALEAAAAQAAAAZG9jUHJvcHMvYXBwLnhtbE2OPQsCMRBE/8px\nvbdBwUJiQNBSsLIPexsvkGRDskJ+vjnBj24ebxhG3wpnKuKpDi2GVI/jIpIPABUXirZOXaduHJdo\npWN5ADvnkc6Mz0hJYKvUHqgJpZnmTf4Ojkafcg4erXhO5uqxcGUnw6UhBQ3/cm3eqdQ17yb1lh/W\n8DtpXlBLAwQUAAAACACJYphPJoGuS+4AAAArAgAAEQAAAGRvY1Byb3BzL2NvcmUueG1szZLBSsQw\nEIZfRXJvp8mKaOjmonhSEFxQvIVkdjds04RkpN23N627XUQfwGNm/nzzDUxrojQh4UsKERM5zFej\n7/osTVyzPVGUANns0etcl0RfmtuQvKbyTDuI2hz0DkE0zQ14JG01aZiAVVyITLXWSJNQU0gnvDUL\nPn6mboZZA9ihx54y8JoDU9PEeBy7Fi6ACUaYfP4uoF2Ic/VP7NwBdkqO2S2pYRjqYTXnyg4c3p+f\nXud1K9dn0r3B8is7SceIa3ae/La6f9g8MiUafldxUYnrDRdSNJLffkyuP/wuwj5Yt3X/2PgsqFr4\ndRfqC1BLAwQUAAAACACJYphPmVycIxAGAACcJwAAEwAAAHhsL3RoZW1lL3RoZW1lMS54bWztWltz\n2jgUfu+v0Hhn9m0LxjaBtrQTc2l227SZhO1OH4URWI1seWSRhH+/RzYQy5YN7ZJNups8BCzp+85F\nR+foOHnz7i5i6IaIlPJ4YNkv29a7ty/e4FcyJBFBMBmnr/DACqVMXrVaaQDDOH3JExLD3IKLCEt4\nFMvWXOBbGi8j1uq0291WhGlsoRhHZGB9XixoQNBUUVpvXyC05R8z+BXLVI1lowETV0EmuYi08vls\nxfza3j5lz+k6HTKBbjAbWCB/zm+n5E5aiOFUwsTAamc/VmvH0dJIgILJfZQFukn2o9MVCDINOzqd\nWM52fPbE7Z+Mytp0NG0a4OPxeDi2y9KLcBwE4FG7nsKd9Gy/pEEJtKNp0GTY9tqukaaqjVNP0/d9\n3+ubaJwKjVtP02t33dOOicat0HgNvvFPh8Ouicar0HTraSYn/a5rpOkWaEJG4+t6EhW15UDTIABY\ncHbWzNIDll4p+nWUGtkdu91BXPBY7jmJEf7GxQTWadIZljRGcp2QBQ4AN8TRTFB8r0G2iuDCktJc\nkNbPKbVQGgiayIH1R4Ihxdyv/fWXu8mkM3qdfTrOa5R/aasBp+27m8+T/HPo5J+nk9dNQs5wvCwJ\n8fsjW2GHJ247E3I6HGdCfM/29pGlJTLP7/kK6048Zx9WlrBdz8/knoxyI7vd9lh99k9HbiPXqcCz\nIteURiRFn8gtuuQROLVJDTITPwidhphqUBwCpAkxlqGG+LTGrBHgE323vgjI342I96tvmj1XoVhJ\n2oT4EEYa4pxz5nPRbPsHpUbR9lW83KOXWBUBlxjfNKo1LMXWeJXA8a2cPB0TEs2UCwZBhpckJhKp\nOX5NSBP+K6Xa/pzTQPCULyT6SpGPabMjp3QmzegzGsFGrxt1h2jSPHr+BfmcNQockRsdAmcbs0Yh\nhGm78B6vJI6arcIRK0I+Yhk2GnK1FoG2camEYFoSxtF4TtK0EfxZrDWTPmDI7M2Rdc7WkQ4Rkl43\nQj5izouQEb8ehjhKmu2icVgE/Z5ew0nB6ILLZv24fobVM2wsjvdH1BdK5A8mpz/pMjQHo5pZCb2E\nVmqfqoc0PqgeMgoF8bkePuV6eAo3lsa8UK6CewH/0do3wqv4gsA5fy59z6XvufQ9odK3NyN9Z8HT\ni1veRm5bxPuuMdrXNC4oY1dyzcjHVK+TKdg5n8Ds/Wg+nvHt+tkkhK+aWS0jFpBLgbNBJLj8i8rw\nKsQJ6GRbJQnLVNNlN4oSnkIbbulT9UqV1+WvuSi4PFvk6a+hdD4sz/k8X+e0zQszQ7dyS+q2lL61\nJjhK9LHMcE4eyww7ZzySHbZ3oB01+/ZdduQjpTBTl0O4GkK+A226ndw6OJ6YkbkK01KQb8P56cV4\nGuI52QS5fZhXbefY0dH758FRsKPvPJYdx4jyoiHuoYaYz8NDh3l7X5hnlcZQNBRtbKwkLEa3YLjX\n8SwU4GRgLaAHg69RAvJSVWAxW8YDK5CifEyMRehw55dcX+PRkuPbpmW1bq8pdxltIlI5wmmYE2er\nyt5lscFVHc9VW/Kwvmo9tBVOz/5ZrcifDBFOFgsSSGOUF6ZKovMZU77nK0nEVTi/RTO2EpcYvOPm\nx3FOU7gSdrYPAjK5uzmpemUxZ6by3y0MCSxbiFkS4k1d7dXnm5yueiJ2+pd3wWDy/XDJRw/lO+df\n9F1Drn723eP6bpM7SEycecURAXRFAiOVHAYWFzLkUO6SkAYTAc2UyUTwAoJkphyAmPoLvfIMuSkV\nzq0+OX9FLIOGTl7SJRIUirAMBSEXcuPv75Nqd4zX+iyBbYRUMmTVF8pDicE9M3JD2FQl867aJguF\n2+JUzbsaviZgS8N6bp0tJ//bXtQ9tBc9RvOjmeAes4dzm3q4wkWs/1jWHvky3zlw2zreA17mEyxD\npH7BfYqKgBGrYr66r0/5JZw7tHvxgSCb/NbbpPbd4Ax81KtapWQrET9LB3wfkgZjjFv0NF+PFGKt\nprGtxtoxDHmAWPMMoWY434dFmhoz1YusOY0Kb0HVQOU/29QNaPYNNByRBV4xmbY2o+ROCjzc/u8N\nsMLEjuHti78BUEsDBBQAAAAIAIlimE8MSl4N3QQAAPYfAAAYAAAAeGwvd29ya3NoZWV0cy9zaGVl\ndDEueG1spZldc6pIEIb/CuXV7kWikMTgKWOVX6DJ0XyqiTepiYzKcQAXxmj21y+YBHFr3sygVwr2\n00A/NWA31XUQLqI5pVzbeMyPrgpzzpe/isVoMqceiU6DJfXjX6ZB6BEeb4azYrQMKXG2kMeKRqlU\nLnrE9Qu16nbfXVirBivOXJ/ehVq08jwSfjQoC9ZXBb3wvePBnc15sqNYqy7JjD5SPljehfFWMc3i\nuB71IzfwtZBOrwp1/ZetVxJgGzF06TrKfNeSS3kLgkWy0XWuCqXkjCijE56kIPHHO21SxpJM8Xn8\n85W0kB4zAbPfv7Nb24uPL+aNRLQZsJHr8PlVwSxoDp2SFeMPwbpDvy7oIj3BFuGkVg2DtRYmF1qr\nTpIv22NvKxFHu35Spkcexr+68eF4rRVMtG6rWuTxiSR7ipMvriHn+sSjArL5M9ls3wqg1s/QA10G\nIddeKAkFcFtyxMBbEv8Dna/1M/0UcMK0ehRRHgloW4X+7ZI3l7ncpf9LUYx1pc6M1JkBss2ehk3L\nNht21Hoyz0vXRrwkRO4QHxFvyeirM9GN06UzFclDaL8uspYrup0r2soVbatG71X8LK34GcAt23vv\njMyGM12bH2Z53Lm2rkUVR7zvhsT/Q3wd1RuB4nrnim7nirZyRduq0Xv1Pk/rfQ7w55FnZ+s9X0Tn\nonojXlpvBIrrnSu6nSvayhVtq0bv1fsirfcFwE3Dm2XrPR2tOqJ6I15abwSK650rup0r2soVbatG\n79W7nNa7DPDu5qTTie/gvL2ZPYVNZ0x7C1G9Ef95B4fVRtjIZcwlnnZzqsX/HBzqi4qPYKOkX4rK\nj+Lrvbqt3c1J/C9mQlfcnRAmenJaiNfNizPjrKz91ftbZAZipbJRqRg/6LlM9VyCHJMRe84uh1f3\nfinSg3jpckCgkiAEI0EoXlUQ4iWCICYVZKaCTJDj303FsTPrx+BdVyQI8ZL1gzAlPQhGelC8qh7E\nS/RATKqnkuqpoPL+Gd5m/6CO3vsDkR7I/6wHYUp6EIz0oHhVPYiX6IGYVI9e2jV9JZBlYLN29gYX\n3fdFHVUDJvi+wyFFEFRyBGkkCQKqlmACiSbMyT1lmnPUN9r18U3HMxu934NXxuzX68XJRugJJZA+\niSCpJgrRUBQClEWhBDJRkJOL2nXkOuov58b7JllQz8y9HdTfhlY/nAlFoQRyUfla8nzh7XzhVr5w\nWzl8v+67vlxHfebCmLHsjez89mYorDtKIHnUQE5teSAaLg8EKC8PlEC2PCAnXx67dl5H7WlrNBtn\nNbHejbC/hAkURlaQVVOFaKgKAcqqUAKZKsjJVe0mATrqbIN78tDNPHJevMlKqOrgWQAkwZ0s3zQg\nX7iVL9xWDt+v+24ioKO+tdMwX+3RrqV5ObkVDnVhAtmd7KihAKTh8jh2LAATyJbH4YMBfTcZ0FH3\nat2/hF1jtzyGQUv8wDl4NgBJNVF5pwMQUBZ14HwAc3JRuwmBjvrYQX3c2RPVbRGhKJRALuqoMQGk\noahjBwUwgUzU4aMCfTcr0FFH+3g/bmZFfbw0xTc+lEAu6qiBAaShqGNHBjCBTNQBQ4Ni5qVx8ka8\nR8KZ60cao9M4Ven0Mn7ghZ8vmT83eLDcvud8CzgPvO3XOSUODZOA+PdpEPDvjeQdd/qqv/YfUEsD\nBBQAAAAIAIlimE9XGYz2zgEAAHEEAAANAAAAeGwvc3R5bGVzLnhtbJ1U22rkMAz9FeMP2EwCW2hJ\nArsLhcJuKbQP++okSmLwJXWUIenXV7Yzycx0C2VfxtKRdI4kx5OPuCh47gGQzVqZseA94nCXJGPd\ngxbjNzuAoUhrnRZIruuScXAgmtEXaZVkh8NNooU0vMzNpO81jqy2k8GCH3hS5q01O5LxCFCq0MCO\nQhX8l1CycjLkCi3VEuHMA7VV1jGkVqDgqUfGtxhOo+e7XHm0NNZ5MIkK8bda088C4RgpQSp12RkB\nZT4IRHDmnpxQE8APIbbaL8tArXVOLGn2ne8F4SCRyroG3IVMhMpcQYtU4GTX+xPtkPggotVkNFJ0\n1ojQw6nivJKFqys49rT6E801SJzXUBS4Rv+ltho0RA1KPfuCv+02SUqTzC2LV/7Q+NtmfrEnk8Zf\nzUgTHc9/zha5z2iz/6Jlgzxa/DnRaCb4r5NFeHLQyjn4c7vpf8aefsJOuBgGtfxQsjMa4uxfFixz\ncapjvXXyjdT8B1kTAI6zIziUtUforsJ65nbd0baesKyLxW8o8++o4I/+eapdlVWTVCjN6vWyacB8\n2D/Ro6jo/V/wU34DrZgUvmzBgu/2H2jkpG+3rCe/iTVrt3/7zzG9CYL7n0z5DlBLAwQUAAAACACJ\nYphPl4q7HMAAAAATAgAACwAAAF9yZWxzLy5yZWxznZK5bsMwDEB/xdCeMAfQIYgzZfEWBPkBVqIP\n2BIFikWdv6/apXGQCxl5PTwS3B5pQO04pLaLqRj9EFJpWtW4AUi2JY9pzpFCrtQsHjWH0kBE22ND\nsFosPkAuGWa3vWQWp3OkV4hc152lPdsvT0FvgK86THFCaUhLMw7wzdJ/MvfzDDVF5UojlVsaeNPl\n/nbgSdGhIlgWmkXJ06IdpX8dx/aQ0+mvYyK0elvo+XFoVAqO3GMljHFitP41gskP7H4AUEsDBBQA\nAAAIAIlimE8auhurMAEAACMCAAAPAAAAeGwvd29ya2Jvb2sueG1sjVHRSsNAEPyVcB9gUtGCpemL\nRS2IFit9vySbZundbdjbtNqvd5MQLPji097OLMPM3PJMfCyIjsmXdyHmphFpF2kaywa8jTfUQlCm\nJvZWdOVDGlsGW8UGQLxLb7NsnnqLwayWk9aW0+uFBEpBCgr2wB7hHH/5fk1OGLFAh/Kdm+HtwCQe\nA3q8QJWbzCSxofMLMV4oiHW7ksm53MxGYg8sWP6Bd73JT1vEARFbfFg1kpt5poI1cpThYtC36vEE\nejxundATOgFeW4Fnpq7FcOhlNEV6FWPoYZpjiQv+T41U11jCmsrOQ5CxRwbXGwyxwTaaJFgPuRks\nDoF0bqoxnKirq6p4gUrwphr9TaYqqDFA9aY6UXEtqNxy0o9B5/bufvagRXTOPSr2Hl7JVlPG6X9W\nP1BLAwQUAAAACACJYphPJB6boq0AAAD4AQAAGgAAAHhsL19yZWxzL3dvcmtib29rLnhtbC5yZWxz\ntZE9DoMwDIWvEuUANVCpQwVMXVgrLhAF8yMSEsWuCrcvhQGQOnRhsp4tf+/JTp9oFHduoLbzJEZr\nBspky+zvAKRbtIouzuMwT2oXrOJZhga80r1qEJIoukHYM2Se7pminDz+Q3R13Wl8OP2yOPAPMLxd\n6KlFZClKFRrkTMJotjbBUuLLTJaiqDIZiiqWcFog4skgbWlWfbBPTrTneRc390WuzeMJrt8McHh0\n/gFQSwMEFAAAAAgAiWKYT2WQeZIZAQAAzwMAABMAAABbQ29udGVudF9UeXBlc10ueG1srZNNTsMw\nEIWvEmVbJS4sWKCmG2ALXXABY08aq/6TZ1rS2zNO2kqgEhWFTax43rzPnpes3o8RsOid9diUHVF8\nFAJVB05iHSJ4rrQhOUn8mrYiSrWTWxD3y+WDUMETeKooe5Tr1TO0cm+peOl5G03wTZnAYlk8jcLM\nakoZozVKEtfFwesflOpEqLlz0GBnIi5YUIqrhFz5HXDqeztASkZDsZGJXqVjleitQDpawHra4soZ\nQ9saBTqoveOWGmMCqbEDIGfr0XQxTSaeMIzPu9n8wWYKyMpNChE5sQR/x50jyd1VZCNIZKaveCGy\n9ez7QU5bg76RzeP9DGk35IFiWObP+HvGF/8bzvERwu6/P7G81k4af+aL4T9efwFQSwECFAMUAAAA\nCACJYphPB0FNYoEAAACxAAAAEAAAAAAAAAAAAAAAgAEAAAAAZG9jUHJvcHMvYXBwLnhtbFBLAQIU\nAxQAAAAIAIlimE8mga5L7gAAACsCAAARAAAAAAAAAAAAAACAAa8AAABkb2NQcm9wcy9jb3JlLnht\nbFBLAQIUAxQAAAAIAIlimE+ZXJwjEAYAAJwnAAATAAAAAAAAAAAAAACAAcwBAAB4bC90aGVtZS90\naGVtZTEueG1sUEsBAhQDFAAAAAgAiWKYTwxKXg3dBAAA9h8AABgAAAAAAAAAAAAAAICBDQgAAHhs\nL3dvcmtzaGVldHMvc2hlZXQxLnhtbFBLAQIUAxQAAAAIAIlimE9XGYz2zgEAAHEEAAANAAAAAAAA\nAAAAAACAASANAAB4bC9zdHlsZXMueG1sUEsBAhQDFAAAAAgAiWKYT5eKuxzAAAAAEwIAAAsAAAAA\nAAAAAAAAAIABGQ8AAF9yZWxzLy5yZWxzUEsBAhQDFAAAAAgAiWKYTxq6G6swAQAAIwIAAA8AAAAA\nAAAAAAAAAIABAhAAAHhsL3dvcmtib29rLnhtbFBLAQIUAxQAAAAIAIlimE8kHpuirQAAAPgBAAAa\nAAAAAAAAAAAAAACAAV8RAAB4bC9fcmVscy93b3JrYm9vay54bWwucmVsc1BLAQIUAxQAAAAIAIli\nmE9lkHmSGQEAAM8DAAATAAAAAAAAAAAAAACAAUQSAABbQ29udGVudF9UeXBlc10ueG1sUEsFBgAA\nAAAJAAkAPgIAAI4TAAAAAA==\n
我想在 angular 6.
中使用打字稿单击按钮将其下载为 .xls
文件
您可以使用file-saver
import * as FileSaver from 'file-saver';
saveFile() {
saveAs(this.base64data, `filename.xls`)
}
您可以通过 DomSanitizer
清理此字符串并提供 data:application/octet-stream;base64
作为类型。
为了清理字符串,我使用了自定义管道 safe
。请查看 stackblitz。
HTML
<a [href]="'data:application/octet-stream;base64,' + data | safe" download="excel.xls">Download</a>
safe.pipe.ts
import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
@Pipe({
name: 'safe'
})
export class SafePipe implements PipeTransform {
constructor(private sanitizer: DomSanitizer) { }
transform(url) {
return this.sanitizer.bypassSecurityTrustResourceUrl(url);
}
}
Base 64数据如下。
UEsDBBQAAAAIAIlimE8HQU1igQAAALEAAAAQAAAAZG9jUHJvcHMvYXBwLnhtbE2OPQsCMRBE/8px\nvbdBwUJiQNBSsLIPexsvkGRDskJ+vjnBj24ebxhG3wpnKuKpDi2GVI/jIpIPABUXirZOXaduHJdo\npWN5ADvnkc6Mz0hJYKvUHqgJpZnmTf4Ojkafcg4erXhO5uqxcGUnw6UhBQ3/cm3eqdQ17yb1lh/W\n8DtpXlBLAwQUAAAACACJYphPJoGuS+4AAAArAgAAEQAAAGRvY1Byb3BzL2NvcmUueG1szZLBSsQw\nEIZfRXJvp8mKaOjmonhSEFxQvIVkdjds04RkpN23N627XUQfwGNm/nzzDUxrojQh4UsKERM5zFej\n7/osTVyzPVGUANns0etcl0RfmtuQvKbyTDuI2hz0DkE0zQ14JG01aZiAVVyITLXWSJNQU0gnvDUL\nPn6mboZZA9ihx54y8JoDU9PEeBy7Fi6ACUaYfP4uoF2Ic/VP7NwBdkqO2S2pYRjqYTXnyg4c3p+f\nXud1K9dn0r3B8is7SceIa3ae/La6f9g8MiUafldxUYnrDRdSNJLffkyuP/wuwj5Yt3X/2PgsqFr4\ndRfqC1BLAwQUAAAACACJYphPmVycIxAGAACcJwAAEwAAAHhsL3RoZW1lL3RoZW1lMS54bWztWltz\n2jgUfu+v0Hhn9m0LxjaBtrQTc2l227SZhO1OH4URWI1seWSRhH+/RzYQy5YN7ZJNups8BCzp+85F\nR+foOHnz7i5i6IaIlPJ4YNkv29a7ty/e4FcyJBFBMBmnr/DACqVMXrVaaQDDOH3JExLD3IKLCEt4\nFMvWXOBbGi8j1uq0291WhGlsoRhHZGB9XixoQNBUUVpvXyC05R8z+BXLVI1lowETV0EmuYi08vls\nxfza3j5lz+k6HTKBbjAbWCB/zm+n5E5aiOFUwsTAamc/VmvH0dJIgILJfZQFukn2o9MVCDINOzqd\nWM52fPbE7Z+Mytp0NG0a4OPxeDi2y9KLcBwE4FG7nsKd9Gy/pEEJtKNp0GTY9tqukaaqjVNP0/d9\n3+ubaJwKjVtP02t33dOOicat0HgNvvFPh8Ouicar0HTraSYn/a5rpOkWaEJG4+t6EhW15UDTIABY\ncHbWzNIDll4p+nWUGtkdu91BXPBY7jmJEf7GxQTWadIZljRGcp2QBQ4AN8TRTFB8r0G2iuDCktJc\nkNbPKbVQGgiayIH1R4Ihxdyv/fWXu8mkM3qdfTrOa5R/aasBp+27m8+T/HPo5J+nk9dNQs5wvCwJ\n8fsjW2GHJ247E3I6HGdCfM/29pGlJTLP7/kK6048Zx9WlrBdz8/knoxyI7vd9lh99k9HbiPXqcCz\nIteURiRFn8gtuuQROLVJDTITPwidhphqUBwCpAkxlqGG+LTGrBHgE323vgjI342I96tvmj1XoVhJ\n2oT4EEYa4pxz5nPRbPsHpUbR9lW83KOXWBUBlxjfNKo1LMXWeJXA8a2cPB0TEs2UCwZBhpckJhKp\nOX5NSBP+K6Xa/pzTQPCULyT6SpGPabMjp3QmzegzGsFGrxt1h2jSPHr+BfmcNQockRsdAmcbs0Yh\nhGm78B6vJI6arcIRK0I+Yhk2GnK1FoG2camEYFoSxtF4TtK0EfxZrDWTPmDI7M2Rdc7WkQ4Rkl43\nQj5izouQEb8ehjhKmu2icVgE/Z5ew0nB6ILLZv24fobVM2wsjvdH1BdK5A8mpz/pMjQHo5pZCb2E\nVmqfqoc0PqgeMgoF8bkePuV6eAo3lsa8UK6CewH/0do3wqv4gsA5fy59z6XvufQ9odK3NyN9Z8HT\ni1veRm5bxPuuMdrXNC4oY1dyzcjHVK+TKdg5n8Ds/Wg+nvHt+tkkhK+aWS0jFpBLgbNBJLj8i8rw\nKsQJ6GRbJQnLVNNlN4oSnkIbbulT9UqV1+WvuSi4PFvk6a+hdD4sz/k8X+e0zQszQ7dyS+q2lL61\nJjhK9LHMcE4eyww7ZzySHbZ3oB01+/ZdduQjpTBTl0O4GkK+A226ndw6OJ6YkbkK01KQb8P56cV4\nGuI52QS5fZhXbefY0dH758FRsKPvPJYdx4jyoiHuoYaYz8NDh3l7X5hnlcZQNBRtbKwkLEa3YLjX\n8SwU4GRgLaAHg69RAvJSVWAxW8YDK5CifEyMRehw55dcX+PRkuPbpmW1bq8pdxltIlI5wmmYE2er\nyt5lscFVHc9VW/Kwvmo9tBVOz/5ZrcifDBFOFgsSSGOUF6ZKovMZU77nK0nEVTi/RTO2EpcYvOPm\nx3FOU7gSdrYPAjK5uzmpemUxZ6by3y0MCSxbiFkS4k1d7dXnm5yueiJ2+pd3wWDy/XDJRw/lO+df\n9F1Drn723eP6bpM7SEycecURAXRFAiOVHAYWFzLkUO6SkAYTAc2UyUTwAoJkphyAmPoLvfIMuSkV\nzq0+OX9FLIOGTl7SJRIUirAMBSEXcuPv75Nqd4zX+iyBbYRUMmTVF8pDicE9M3JD2FQl867aJguF\n2+JUzbsaviZgS8N6bp0tJ//bXtQ9tBc9RvOjmeAes4dzm3q4wkWs/1jWHvky3zlw2zreA17mEyxD\npH7BfYqKgBGrYr66r0/5JZw7tHvxgSCb/NbbpPbd4Ax81KtapWQrET9LB3wfkgZjjFv0NF+PFGKt\nprGtxtoxDHmAWPMMoWY434dFmhoz1YusOY0Kb0HVQOU/29QNaPYNNByRBV4xmbY2o+ROCjzc/u8N\nsMLEjuHti78BUEsDBBQAAAAIAIlimE8MSl4N3QQAAPYfAAAYAAAAeGwvd29ya3NoZWV0cy9zaGVl\ndDEueG1spZldc6pIEIb/CuXV7kWikMTgKWOVX6DJ0XyqiTepiYzKcQAXxmj21y+YBHFr3sygVwr2\n00A/NWA31XUQLqI5pVzbeMyPrgpzzpe/isVoMqceiU6DJfXjX6ZB6BEeb4azYrQMKXG2kMeKRqlU\nLnrE9Qu16nbfXVirBivOXJ/ehVq08jwSfjQoC9ZXBb3wvePBnc15sqNYqy7JjD5SPljehfFWMc3i\nuB71IzfwtZBOrwp1/ZetVxJgGzF06TrKfNeSS3kLgkWy0XWuCqXkjCijE56kIPHHO21SxpJM8Xn8\n85W0kB4zAbPfv7Nb24uPL+aNRLQZsJHr8PlVwSxoDp2SFeMPwbpDvy7oIj3BFuGkVg2DtRYmF1qr\nTpIv22NvKxFHu35Spkcexr+68eF4rRVMtG6rWuTxiSR7ipMvriHn+sSjArL5M9ls3wqg1s/QA10G\nIddeKAkFcFtyxMBbEv8Dna/1M/0UcMK0ehRRHgloW4X+7ZI3l7ncpf9LUYx1pc6M1JkBss2ehk3L\nNht21Hoyz0vXRrwkRO4QHxFvyeirM9GN06UzFclDaL8uspYrup0r2soVbatG71X8LK34GcAt23vv\njMyGM12bH2Z53Lm2rkUVR7zvhsT/Q3wd1RuB4nrnim7nirZyRduq0Xv1Pk/rfQ7w55FnZ+s9X0Tn\nonojXlpvBIrrnSu6nSvayhVtq0bv1fsirfcFwE3Dm2XrPR2tOqJ6I15abwSK650rup0r2soVbatG\n79W7nNa7DPDu5qTTie/gvL2ZPYVNZ0x7C1G9Ef95B4fVRtjIZcwlnnZzqsX/HBzqi4qPYKOkX4rK\nj+Lrvbqt3c1J/C9mQlfcnRAmenJaiNfNizPjrKz91ftbZAZipbJRqRg/6LlM9VyCHJMRe84uh1f3\nfinSg3jpckCgkiAEI0EoXlUQ4iWCICYVZKaCTJDj303FsTPrx+BdVyQI8ZL1gzAlPQhGelC8qh7E\nS/RATKqnkuqpoPL+Gd5m/6CO3vsDkR7I/6wHYUp6EIz0oHhVPYiX6IGYVI9e2jV9JZBlYLN29gYX\n3fdFHVUDJvi+wyFFEFRyBGkkCQKqlmACiSbMyT1lmnPUN9r18U3HMxu934NXxuzX68XJRugJJZA+\niSCpJgrRUBQClEWhBDJRkJOL2nXkOuov58b7JllQz8y9HdTfhlY/nAlFoQRyUfla8nzh7XzhVr5w\nWzl8v+67vlxHfebCmLHsjez89mYorDtKIHnUQE5teSAaLg8EKC8PlEC2PCAnXx67dl5H7WlrNBtn\nNbHejbC/hAkURlaQVVOFaKgKAcqqUAKZKsjJVe0mATrqbIN78tDNPHJevMlKqOrgWQAkwZ0s3zQg\nX7iVL9xWDt+v+24ioKO+tdMwX+3RrqV5ObkVDnVhAtmd7KihAKTh8jh2LAATyJbH4YMBfTcZ0FH3\nat2/hF1jtzyGQUv8wDl4NgBJNVF5pwMQUBZ14HwAc3JRuwmBjvrYQX3c2RPVbRGhKJRALuqoMQGk\noahjBwUwgUzU4aMCfTcr0FFH+3g/bmZFfbw0xTc+lEAu6qiBAaShqGNHBjCBTNQBQ4Ni5qVx8ka8\nR8KZ60cao9M4Ven0Mn7ghZ8vmT83eLDcvud8CzgPvO3XOSUODZOA+PdpEPDvjeQdd/qqv/YfUEsD\nBBQAAAAIAIlimE9XGYz2zgEAAHEEAAANAAAAeGwvc3R5bGVzLnhtbJ1U22rkMAz9FeMP2EwCW2hJ\nArsLhcJuKbQP++okSmLwJXWUIenXV7Yzycx0C2VfxtKRdI4kx5OPuCh47gGQzVqZseA94nCXJGPd\ngxbjNzuAoUhrnRZIruuScXAgmtEXaZVkh8NNooU0vMzNpO81jqy2k8GCH3hS5q01O5LxCFCq0MCO\nQhX8l1CycjLkCi3VEuHMA7VV1jGkVqDgqUfGtxhOo+e7XHm0NNZ5MIkK8bda088C4RgpQSp12RkB\nZT4IRHDmnpxQE8APIbbaL8tArXVOLGn2ne8F4SCRyroG3IVMhMpcQYtU4GTX+xPtkPggotVkNFJ0\n1ojQw6nivJKFqys49rT6E801SJzXUBS4Rv+ltho0RA1KPfuCv+02SUqTzC2LV/7Q+NtmfrEnk8Zf\nzUgTHc9/zha5z2iz/6Jlgzxa/DnRaCb4r5NFeHLQyjn4c7vpf8aefsJOuBgGtfxQsjMa4uxfFixz\ncapjvXXyjdT8B1kTAI6zIziUtUforsJ65nbd0baesKyLxW8o8++o4I/+eapdlVWTVCjN6vWyacB8\n2D/Ro6jo/V/wU34DrZgUvmzBgu/2H2jkpG+3rCe/iTVrt3/7zzG9CYL7n0z5DlBLAwQUAAAACACJ\nYphPl4q7HMAAAAATAgAACwAAAF9yZWxzLy5yZWxznZK5bsMwDEB/xdCeMAfQIYgzZfEWBPkBVqIP\n2BIFikWdv6/apXGQCxl5PTwS3B5pQO04pLaLqRj9EFJpWtW4AUi2JY9pzpFCrtQsHjWH0kBE22ND\nsFosPkAuGWa3vWQWp3OkV4hc152lPdsvT0FvgK86THFCaUhLMw7wzdJ/MvfzDDVF5UojlVsaeNPl\n/nbgSdGhIlgWmkXJ06IdpX8dx/aQ0+mvYyK0elvo+XFoVAqO3GMljHFitP41gskP7H4AUEsDBBQA\nAAAIAIlimE8auhurMAEAACMCAAAPAAAAeGwvd29ya2Jvb2sueG1sjVHRSsNAEPyVcB9gUtGCpemL\nRS2IFit9vySbZundbdjbtNqvd5MQLPji097OLMPM3PJMfCyIjsmXdyHmphFpF2kaywa8jTfUQlCm\nJvZWdOVDGlsGW8UGQLxLb7NsnnqLwayWk9aW0+uFBEpBCgr2wB7hHH/5fk1OGLFAh/Kdm+HtwCQe\nA3q8QJWbzCSxofMLMV4oiHW7ksm53MxGYg8sWP6Bd73JT1vEARFbfFg1kpt5poI1cpThYtC36vEE\nejxundATOgFeW4Fnpq7FcOhlNEV6FWPoYZpjiQv+T41U11jCmsrOQ5CxRwbXGwyxwTaaJFgPuRks\nDoF0bqoxnKirq6p4gUrwphr9TaYqqDFA9aY6UXEtqNxy0o9B5/bufvagRXTOPSr2Hl7JVlPG6X9W\nP1BLAwQUAAAACACJYphPJB6boq0AAAD4AQAAGgAAAHhsL19yZWxzL3dvcmtib29rLnhtbC5yZWxz\ntZE9DoMwDIWvEuUANVCpQwVMXVgrLhAF8yMSEsWuCrcvhQGQOnRhsp4tf+/JTp9oFHduoLbzJEZr\nBspky+zvAKRbtIouzuMwT2oXrOJZhga80r1qEJIoukHYM2Se7pminDz+Q3R13Wl8OP2yOPAPMLxd\n6KlFZClKFRrkTMJotjbBUuLLTJaiqDIZiiqWcFog4skgbWlWfbBPTrTneRc390WuzeMJrt8McHh0\n/gFQSwMEFAAAAAgAiWKYT2WQeZIZAQAAzwMAABMAAABbQ29udGVudF9UeXBlc10ueG1srZNNTsMw\nEIWvEmVbJS4sWKCmG2ALXXABY08aq/6TZ1rS2zNO2kqgEhWFTax43rzPnpes3o8RsOid9diUHVF8\nFAJVB05iHSJ4rrQhOUn8mrYiSrWTWxD3y+WDUMETeKooe5Tr1TO0cm+peOl5G03wTZnAYlk8jcLM\nakoZozVKEtfFwesflOpEqLlz0GBnIi5YUIqrhFz5HXDqeztASkZDsZGJXqVjleitQDpawHra4soZ\nQ9saBTqoveOWGmMCqbEDIGfr0XQxTSaeMIzPu9n8wWYKyMpNChE5sQR/x50jyd1VZCNIZKaveCGy\n9ez7QU5bg76RzeP9DGk35IFiWObP+HvGF/8bzvERwu6/P7G81k4af+aL4T9efwFQSwECFAMUAAAA\nCACJYphPB0FNYoEAAACxAAAAEAAAAAAAAAAAAAAAgAEAAAAAZG9jUHJvcHMvYXBwLnhtbFBLAQIU\nAxQAAAAIAIlimE8mga5L7gAAACsCAAARAAAAAAAAAAAAAACAAa8AAABkb2NQcm9wcy9jb3JlLnht\nbFBLAQIUAxQAAAAIAIlimE+ZXJwjEAYAAJwnAAATAAAAAAAAAAAAAACAAcwBAAB4bC90aGVtZS90\naGVtZTEueG1sUEsBAhQDFAAAAAgAiWKYTwxKXg3dBAAA9h8AABgAAAAAAAAAAAAAAICBDQgAAHhs\nL3dvcmtzaGVldHMvc2hlZXQxLnhtbFBLAQIUAxQAAAAIAIlimE9XGYz2zgEAAHEEAAANAAAAAAAA\nAAAAAACAASANAAB4bC9zdHlsZXMueG1sUEsBAhQDFAAAAAgAiWKYT5eKuxzAAAAAEwIAAAsAAAAA\nAAAAAAAAAIABGQ8AAF9yZWxzLy5yZWxzUEsBAhQDFAAAAAgAiWKYTxq6G6swAQAAIwIAAA8AAAAA\nAAAAAAAAAIABAhAAAHhsL3dvcmtib29rLnhtbFBLAQIUAxQAAAAIAIlimE8kHpuirQAAAPgBAAAa\nAAAAAAAAAAAAAACAAV8RAAB4bC9fcmVscy93b3JrYm9vay54bWwucmVsc1BLAQIUAxQAAAAIAIli\nmE9lkHmSGQEAAM8DAAATAAAAAAAAAAAAAACAAUQSAABbQ29udGVudF9UeXBlc10ueG1sUEsFBgAA\nAAAJAAkAPgIAAI4TAAAAAA==\n
我想在 angular 6.
中使用打字稿单击按钮将其下载为.xls
文件
您可以使用file-saver
import * as FileSaver from 'file-saver';
saveFile() {
saveAs(this.base64data, `filename.xls`)
}
您可以通过 DomSanitizer
清理此字符串并提供 data:application/octet-stream;base64
作为类型。
为了清理字符串,我使用了自定义管道 safe
。请查看 stackblitz。
HTML
<a [href]="'data:application/octet-stream;base64,' + data | safe" download="excel.xls">Download</a>
safe.pipe.ts
import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
@Pipe({
name: 'safe'
})
export class SafePipe implements PipeTransform {
constructor(private sanitizer: DomSanitizer) { }
transform(url) {
return this.sanitizer.bypassSecurityTrustResourceUrl(url);
}
}