首页 > 解决方案 > ExcelJS - 如何设置第一个工作表处于活动状态

问题描述

我正在尝试编写一个包含多张工作表的 excel 文件。但不知何故,当我们打开文件时,我很难找到在第一张纸上设置 excel 文件活动的语法。

目前,它始终在最后一张纸上处于活动状态。这是我的代码片段

let workbook = new Excel.Workbook();
workbook.creator = 'PT. ABCDE';
workbook.lastModifiedBy = 'PT. ABCDE';
workbook.created = new Date();
workbook.modified = new Date();
workbook.lastPrinted = new Date();
workbook.properties.date1904 = true;

let worksheetFarmer = workbook.addWorksheet('Farmer');
dataFarmer.forEach(function(item, index) {
    worksheetFarmer.addRow(item);
}

let worksheetFamily = workbook.addWorksheet('Family');
dataFamily.forEach(function(item, index) {
    worksheetFamily.addRow(item);
}

workbook.views = [
    {
        x: 0, y: 0, width: 10000, height: 20000,
        firstSheet: 0, activeTab: 1, visibility: 'visible'
    }
];
const PathFilename = config.get('palmWritePath')+ExcelName+'.xlsx';
workbook.xlsx.writeFile(PathFilename).then(function() {
    const returnJson = {
        success: true,
        message: "Excel exported",
        filename: ExcelName+'.xlsx'
    };

    res.json(returnJson);
    res.end();
    console.log('File write done');
});

标签: node.jsexceljs

解决方案


我相信您需要像这样设置 workbook.view 对象:

workbook.views = [
    {
        x: 0, y: 0, width: 10000, height: 20000,
        firstSheet: 0, activeTab: 0, visibility: 'visible' // Set activeTab to 0
    }
];

我们只是将 activeTab 属性从 1 更改为 0,这应该可以解决您的问题!


推荐阅读