SheetJS中如何通过命名单元格的Ref获取对应单元格对象?
如何通过命名单元格的Ref值访问对应单元格内容
你不能直接用wb[x.Ref].v访问单元格,原因是工作簿对象(wb)不支持直接通过带工作表名的引用字符串获取单元格,需要拆分Ref中的工作表名称与单元格地址,分两步访问:
- 拆分Ref字符串,提取工作表名和单元格地址:
比如datasheet!$B$6可以通过split('!')拆分为工作表名datasheet和单元格地址$B$6 - 先获取目标工作表,再通过单元格地址获取对应值
完整代码示例:
let x = wb.Workbook.Names[0]; // 拆分引用字符串,分离工作表名称和单元格地址 const [sheetName, cellAddress] = x.Ref.split('!'); // 获取指定工作表 const targetSheet = wb.getWorksheet(sheetName); // 获取单元格并读取值 const cellValue = targetSheet.getCell(cellAddress).value; console.log(cellValue);
注:单元格地址中的$是绝对引用标记,ExcelJS会自动识别,也可以手动去掉后使用(比如B6),不影响获取单元格。
内容的提问来源于stack exchange,提问作者olidem
相关产品推荐
相关产品推荐

