流星,使用xlsx-populate写入xlsx文件

时间:2018-07-25 09:53:16

标签: meteor xlsx

我正在使用xlsx-populate在流星应用程序的服务器端处理我的文件。下面的代码是我尝试执行的操作,但是它给出了错误。

writeFile : function(dict){
    XlsxPopulate.fromFileAsync("assets/app/PlanningTemplate.xlsx").
    then(workbook => {
        const sheet = workbook.sheet("Sheet1");
        Object.keys(dict).forEach(function(key) {
            sheet.cell(key).value(dict[key]);
        });
        workbook.toFileAsync("assets/app/PlanningTemplate.xlsx");
    })                  
}

错误是这样的:

unhandledPromiseRejectionWarning: unhandled promise rejection <rejection id: 1>: Error: EPERM: operation not permitted open C:\.....

但是,我编写了读取文件的代码,效果很好,但是我似乎无法使其适用于写入同一文件。

1 个答案:

答案 0 :(得分:1)

基本上,您不应该尝试写入文件系统。将其部署到docker映像时,文件系统将是只读的,因此您必须添加可写卷。使用Ostrio:files这样的包进行文件访问会更容易。

如果您仍要写入文件系统,则必须记住,流星会生成映像并在.meteor / local中的某个位置运行服务器...因此,应使用绝对文件路径,而不要使用相对文件路径。