每当单元格值超过字符限制时记录到控制台

问题描述

ItemNumber 列中的单元格值的长度超过 10 个字符时,我将这个伪代码记入日志。我还想显示违规行号。

还没有机会对此进行全面测试,但有可能吗?

任何帮助将不胜感激!

let itemDesc = newTable.getColumnByName("ItemNumber")
for (let i = itemDesc.length - 1; i >= 0; i--) {
  let event = itemDesc[i];
  let rowNumber = ???
  if (event.length > 10) {
    console.log(`Character count exceeds 10 characters at Rows: ${rowNumber}`);
  }
}

解决方法

这段代码应该可以工作。假设数据在 Excel 表格 / ListObject 中:

function main(workbook: ExcelScript.Workbook) {
let ws = workbook.getActiveWorksheet();
let newTable = ws.getTable("Table1");
let itemDesc = newTable.getColumnByName("ItemNumber");
let rang = itemDesc.getRange();
let vals = rang.getValues();
let rowNumbers = []
vals.forEach((item,rowNumber) => {
    if (rowNumber > 0 && item[0].toString().length > 10) {
        rowNumbers.push(rowNumber)
    }
})
rowNumbers.forEach(row => console.log(`Character count exceeds 10 characters at Rows: ${row}`)) //prints each offending row on a separate line
console.log(`Character count exceeds 10 characters at Rows: ${rowNumbers.toString()}`); //prints all offending rows on one line

}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...