如何修改Excel Script代码以获取包含表头的表格全部数据
如何修改Excel Script代码以获取包含表头的表格全部数据
嗨,这问题很好解决!你当前代码里用的getRangeBetweenHeaderAndTotal()方法,顾名思义就是只取表头和总计行之间的数据,自然会跳过表头。要拿到包含表头的完整表格数据,只需要把这个方法换成表格的getRange()方法就可以啦。
修改后的代码如下:
function main(workbook: ExcelScript.Workbook) { let ws = workbook.getWorksheet("Sheet1"); // 用getRange()获取整个表格的范围,包含表头和所有数据行 return ws.getTable("Table1").getRange().getValues(); }
简单解释下:
getRange()方法会返回整个表格的单元格范围,包括表头行、所有数据行,要是你的表格有总计行的话,也会一并包含进来。- 如果你的表格没有总计行,这个方法和直接获取表头加数据行的效果是一样的,但写法更简洁。
要是你明确不想包含总计行(但要保留表头),也可以用下面的写法,手动合并表头和数据行:
function main(workbook: ExcelScript.Workbook) { let ws = workbook.getWorksheet("Sheet1"); let table = ws.getTable("Table1"); // 获取表头行和数据体范围,合并后取数值 let headerValues = table.getHeaderRowRange().getValues(); let bodyValues = table.getDataBodyRange()?.getValues() || []; // 合并表头和数据 return [...headerValues, ...bodyValues]; }
不过第一种写法更直接,完全能满足你“返回全部数据包括表头”的需求~
备注:内容来源于stack exchange,提问作者user15235239
相关产品推荐
相关产品推荐

