解决方案:
以下就是可行的方法,其中,columnName 为需要遍历的一列的列名,也可以使用列号代替,例如 ‘A’ 或 0 表示第一列。执行该脚本后,会输出去重后的该列内容的数组。
// 加载 xlsx 库
const XLSX = require('xlsx');
// 读取 xlsx 文件
const workbook = XLSX.readFile('example.xlsx');
// 获取第一张表格
const sheet = workbook.Sheets[workbook.SheetNames[0]];
// 定义某一列的列名
const columnName = '列名';
// 定义一个用于存储某一列去重后内容的 Set
const uniqueValues = new Set();
// 遍历表格
for (let i = sheet['!range'].s.r + 1; i <= sheet['!range'].e.r; i++) {
// 获取当前行的列数据
const row = XLSX.utils.sheet_to_row_object_array(sheet, {range: i + ':' + i})[0];
// 将当前行某一列的值加入 uniqueValues(去重)
const cellValue = row[columnName];
if (cellValue) {
uniqueValues.add(cellValue);
}
}
// 输出去重后的结果
console.log(Array.from(uniqueValues));