gpt4 book ai didi

exceljs - 如何使用exceljs按名称获取单元格?

转载 作者:行者123 更新时间:2023-12-04 12:06:15 50 4
gpt4 key购买 nike

现在,我必须像这样硬编码

var cell = worksheet.getCell('A1');

但我想通过名称定义我的单元格,如 data并通过以下方式访问单元格:
var cell = worksheet.getCell('data');

a busy cat

我怎么能用 exceljs 做到这一点?
非常感谢!

注意:似乎解决我的问题的唯一解决方案是添加列/行标题并定义键,但我不想在我的代码中这样做:
worksheet.columns = [
{ header: 'Id', key: 'id', width: 10 }
];

最佳答案

据我所知,似乎没有内置方法。这是一个应该可以解决问题的函数:

function getCellByName(worksheet, name) {
var match;
worksheet.eachRow(function (row) {
row.eachCell(function (cell) {
for (var i = 0; i < cell.names.length; i++) {
if (cell.names[i] === name) {
match = cell;
break;
}
}
});
});
return match;
}
使用 ES6:
const getCellByName = (worksheet, name) => {
let match
worksheet.eachRow(row => row.eachCell(cell => {
if (cell.names.find(n => n === name)) {
match = cell
}
}))
return match
}
对于非常大的工作表,这可能最终不可行,因为您必须遍历工作表中的每个非空单元格。
如果您正在寻找具有内置功能的东西,我还没有尝试过,但是 xlsx-populate看起来很有希望。

关于exceljs - 如何使用exceljs按名称获取单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56596774/

50 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com