## 快速生成菜单插入SQL > 引言:手工配置菜单太麻烦,通过这个脚本可以快速生成可执行的SQL,再结合代码生成器生成代码,有如神助。 1. 新建excel `menu_auto.xlsx` > 填写菜单配置(菜单路径、菜单名字) ![](https://img.kancloud.cn/46/de/46debad45a30234a8c59e3edc76da771_824x290.png) 2. 新建js文件 `generateMenuSql.js` > 手工改下menu_auto.xlsx的路径 ``` const nodeXlsx = require('node-xlsx'); const shortid = require("shortid"); //读取excel表格 const ex1 = nodeXlsx.parse("D:/zhang/Desktop/menu_auto.xlsx") let sheets = ex1[0].data //console.log(sheets) let sqlArray = new Array(); sheets.forEach( function(element, index) { let menu_url = element[0]; menu_url = menu_url.replace(/\\/g, '/') menu_url = menu_url.replace('src/views', '') menu_url = menu_url.replace('.vue','') menu_url = menu_url.substring(1) let menu_name = element[1]; let uuid = shortid.generate(); uuid = uuid.replace("_", "A").replace("-", "a"); let sql_format = `INSERT INTO sys_permission(id, parent_id, name, url, component, component_name, redirect, menu_type, perms, perms_type, sort_no, always_show, icon, is_route, is_leaf, keep_alive, hidden, description, status, del_flag, rule_flag, create_by, create_time, update_by, update_time, internal_or_external) VALUES ('${uuid}', '1455100420297859074', '@${menu_name}', '/${menu_url}', '${menu_url}', NULL, NULL, 1, NULL, '1', 1111.00, 0, NULL, 1, 1, 1, 0, NULL, '1', 0, 1, 'admin', '2019-12-26 14:45:02', 'admin', '2020-01-06 14:24:14', 0);` sqlArray.push(sql_format); }); console.log(sqlArray.join('\n')); ``` 3. 通过node执行 `generateMenuSql.js` ``` 全局安装依赖 npm i node-xlsx -g npm i shortid -g 执行命令 node generateMenuSql.js ``` ![](https://img.kancloud.cn/33/7c/337c2f242d878216ffa785a799b3daed_1050x606.png)