使用XLSX.js编辑xlsx文件而不丢失格式和公式

时间:2014-05-10 12:27:57

标签: javascript node.js excel

我需要在nodejs应用程序中编辑XLSX文件以创建订单。我需要编辑的文件有一个特定的格式和一些公式。我尝试使用几个库,但我发现能够读取和写入xlsx文件的唯一库是XLSX.js

但是当我尝试读取xlsx文件并在文件中写入相同的内容时,我丢失了新文件中的格式和所有公式。请在下面找到我使用的代码:

var xl = require('../public/javascripts/xlsx'),
    fs = require('fs-extra'),
    inFile = 'conf/X-Pole_Order_Form.xlsx',
    outFile = "conf/tmp.xlsx";

fs.copy(inFile, outFile, function (err) {
    if (err) {
        throw new Error('Not enable to copy excel file');
    }
    fs.readFile(outFile, 'base64', function (err, content) {
        if (err) {
            throw new Error('Problem by reading excel file');
        }
        var sheet = xl(content);
        fs.writeFile(outFile, sheet.base64, 'base64');
    });
});

您有任何想法或其他解决方案可以提出吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

根据该图书馆作者的这个two year old blog pos(强调我的):

  

现在XLSX.js支持从多个工作表中读取数据   工作表的名称,活动工作表和文件元数据。的 它   不支持读取格式信息 ,宏,   图表,或其他任何东西。

通过changelog for that file阅读我没有看到太多与格式相关的内容。有一个pull request from someone添加了一些您可以尝试实现的格式,但我认为您不会很快从这个库中获得完整的Excel格式。