SheetJS:write 方法在向 FormStack 发送数据时返回空白表

SheetJS: write method returns blank sheets when sending data to FormStack

提问人:Antonio Pavicevac-Ortiz 提问时间:11/17/2023 更新时间:11/17/2023 访问量:11

问:

我正在对 FormStack 进行 API 调用,它有一个我用来传递一些数据的模板。xlsx

这个想法是我将不同的数据发送到此模板,每次我执行此操作时,该数据都会填充一个新工作表。最后,我应该有一个包含大量工作表的 excel 文档。例如。n[ { sheet-1-data },{ sheet-2-data } ] => spits out excel doc with two sheets with each sheet styled/based on template living in FormStack

我的问题是,当它生成一个由两张纸生成的文件时,每个选项卡都是空白的。

我正在使用 Nest.js,这是我正在处理缓冲区的服务。

@Injectable()
export class DSDocExcelProcessorService {
    constructor(
        private readonly logService: DSLogService,
        private readonly auditService: AuditService
    ) {}
    async processExcelDocs(contentArr: { order: number; fileContent: Buffer }[] = [], docGenReq: DSDocGenerateRequestModel): Promise<Buffer> {
        try {
            this.logService.info(
                `Started processing Excel generation for Request Id ${DSRequestContextService.getCurrentReqId()}. Total Excel docs to be processed : ${
                    docGenReq.templates.length
                }`
            );
            const finalXLSX: WorkBook = await utils.book_new();
            let xlsx: Buffer;

            for await (xlsx of orderBy(contentArr, 'order').map((item) => item.fileContent)) {

                const workbook: WorkBook = read(xlsx, { type: 'buffer' });

                utils.book_append_sheet(finalXLSX, workbook);
            }
            this.logService.info(`Successfully uploaded file ${docGenReq.outputFile} to ${docGenReq.destinationBucket}`);

            return write(finalXLSX, { type: 'buffer', bookType: 'xlsx' });
        } catch (error) {
            this.logService.error(error);
            await this.auditService.updateRequestStatus(DSRequestContextService.getCurrentReqId(), EDSRequestStatus.ERROR, true, [error.message]);
            throw error;
        }
    }
}

关于为什么我在每张工作表中都没有获得数据模板的任何想法?

任何帮助将不胜感激!

Excel nestjs 缓冲区 表js

评论


答: 暂无答案