使用 XLSX Angular 从模板编写 Excel

问题描述 投票:0回答:1

我在 Angular 应用程序中使用 XLSX 库从另一个文件写入 Excel 文件。我的初始文件以 Base64 编码,因此我需要对其进行解码并修改一些单元格。接下来,我必须将这个新文件保存为 base64。

                const byteArray = new Uint8Array(
                  atob(files[0].base64Content)
                        .split('')
                        .map((char) => char.charCodeAt(0))
                );

                const file = new Blob([byteArray], { type: 'text/csv' });
                const imageFile = new File([file], files[0].fileName, {
                    type: 'text/csv',
                });

                let fileReader = new FileReader();
                fileReader.readAsArrayBuffer(imageFile);
                fileReader.onload = (e) => {
                    var arrayBuffer: any = fileReader.result;
                    var data = new Uint8Array(arrayBuffer);
                    var arr = new Array();
                    for (var i = 0; i != data.length; ++i)
                        arr[i] = String.fromCharCode(data[i]);

                    var bstr = arr.join('');
                    var workbook = XLSX.read(bstr, { type: 'binary' });
                    var worksheet = workbook.Sheets['Worksheet1'];

                    worksheet['BP3'] = 'x';
              };

我阅读了工作表并更改了单元格的值。我现在需要将此文件保存为 base64。有人可以帮助我吗?

angular npm base64 xlsx
1个回答
0
投票

我假设“XLSX库”,你的意思是SheetsJS,在这种情况下,我相信你正在寻找的是

writeFile
方法(找到here)。您可以使用
type
option 作为选项参数的一部分。

XLSX.writeFile(workbook, files[0], { type: 'base64' })
© www.soinside.com 2019 - 2024. All rights reserved.