node.js - 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');
});
解决方案
我相信您需要像这样设置 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,这应该可以解决您的问题!
推荐阅读
- typeorm - Typeorm:使用参数执行原始查询
- sql - 如果 PostgreSQL 中存在另一个表,如何使用 IF 语句删除一个表
- html - 使用 jQuery 动态添加 textarea 元素
- python - 返回“或响应”时会产生什么响应“process_response()”?
- vue.js - Vee-Validate 不使用表单向导
- asp.net-core - ASP.NET Core 3.1 中的 asp-action 不适用于端点路由
- r - 按组计算 dplyr 中具有先前值的字段
- mongodb - 如何计算我的产品在 mongodb 中的平均评分?
- javascript - nodemailer 发送带有特定接收者特定信息的邮件
- python - 用base64替换cid src