1. 安装必要的库
首先,你需要安装 chokidar
和 xlsx
库。你可以在你的项目目录中运行以下命令来安装它们:
npm install chokidar xlsx
2. 编写监控和读取文件的代码
创建一个新的 JavaScript 文件(例如 monitorExcel.js
),并添加以下代码:
const chokidar = require('chokidar');
const xlsx = require('xlsx');
const path = require('path');
// 监控的Excel文件路径
const filePath = path.join(__dirname, 'your-file.xlsx');
// 读取Excel文件内容的函数
function readExcelFile(file) {
const workbook = xlsx.readFile(file);
const sheetName = workbook.SheetNames[0]; // 获取第一个工作表的名称
const sheet = workbook.Sheets[sheetName];
// 将工作表内容转换为JSON
const data = xlsx.utils.sheet_to_json(sheet);
console.log(data);
}
// 初始化chokidar监控器
const watcher = chokidar.watch(filePath, {
persistent: true
});
// 监听文件变化事件
watcher.on('change', (path) => {
console.log(`File ${path} has been changed`);
readExcelFile(filePath);
});
// 初始读取Excel文件内容
readExcelFile(filePath);
console.log(`Watching for changes in ${filePath}`);
3. 运行代码
在终端中运行以下命令来启动你的脚本:
node monitorExcel.js
- chokidar.watch(filePath, { persistent: true }): 初始化一个
chokidar
监控器,监控指定的 Excel 文件。 - watcher.on('change', (path) => {...}): 监听文件变化事件,当文件发生变化时,调用
readExcelFile
函数读取文件内容。 - readExcelFile(file): 使用
xlsx
库读取 Excel 文件并将其内容转换为 JSON 格式,然后打印到控制台。
这样,当你修改并保存 your-file.xlsx
文件时,脚本会实时检测到变化并读取文件内容。