关于node.js:writeFile在exceljs中不起作用

writeFile not woking in exceljs

我正在使用exceljs并尝试在单元格中写入值,但它不起作用。 但是workbook.xlsx.readFile(filename)可以工作,但workbook.xlsx.writeFile(filename)不能。

这是我的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var Excel = require('exceljs');
var fs = require('fs')
module.exports.summary = function(req, res, next) {
try {
    var filename = process.cwd() + '/template/report/summary.xlsx';
    var workbook = new Excel.Workbook();
    workbook.xlsx.writeFile(filename)
        .then(function() {
            var worksheet = workbook.getWorksheet(1);
            console.log('worksheet',worksheet);
            var row = worksheet.getRow(5);
            row.getCell('C').value = new Date();
            row.commit();
            worksheet.commit();

            workbook.commit().then(function() {
                console.log('xls file is written.');
            });
            res.json({ msg: done })
        });

 } catch (e) {
    next(e);
 }
}


尝试使用此代码,希望对您有所帮助

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
const excel = require('exceljs');

//Creating New Workbook
var workbook = new excel.Workbook();

//Creating Sheet for that particular WorkBook
var sheetName = 'Sheet1';
var sheet = workbook.addWorksheet(sheetName);

//Header must be in below format
sheet.columns = [{key:"name", header:"name"}, {key:"age", header:"age"}];

//Data must be look like below, key of data must be match to header.
var data = [{name:"Kalai", age: 24}, {name:"Vignesh", age:24}];

//adding each in sheet
for(i in data){
  sheet.addRow(data[i]);
}

//Finally creating XLSX file
var fileName ="Sample.xlsx";
workbook.xlsx.writeFile(fileName).then(() => {
    callback(null);
});