抱歉,感觉这是一个非常基本的问题。我正在尝试迭代Excel表并使用新的加载项模型删除任何空行。我是javascript的新手,所有的异步性和回调都让我陷入困境!
由于我认为这很简单,我想知道是否有人可能会发布快速代码示例或建议最简洁的方法吗?对不起,如果我在文档中错过了它。
非常感谢提前。
添
答案 0 :(得分:0)
以下代码应该可以满足您的需求。
Excel.run(function(ctx) {
var rows = ctx.workbook.tables.getItem('YourTableName').rows;
rows.load("values"); // We'll need the rows values to check if they're empty.
return ctx.sync().then(function() {
// Important to go through the items in reverse fashion as deleting a row shifts the rest up.
rows.items.reverse().forEach(function(row) {
// row.values is a double array. Although, we know it can only contain one row.
var isEmpty = row.values[0].every(function(col) {
return col === "";
});
if (isEmpty) {
row.delete();
}
});
}).then(ctx.sync);
}).catch(function(error) {
console.log("Error: " + error);
if (error instanceof OfficeExtension.Error) {
console.log("Debug info: " + JSON.stringify(error.debugInfo));
}
});
希望有所帮助,
Gabriel Royer - Office可扩展性团队开发人员,MSFT
答案 1 :(得分:-2)
我建议你使用宏录制设备来完成基本工作。然后在具有空行测试的基本For Each Cell循环中使用它来完成工作。