UNPKG

excel-json-cli1

Version:

用于把表格数据导成json数据,可支持json、ts和js,或者,用于把json数据导成表格数据,可支持json、ts和js。

51 lines (39 loc) 2.1 kB
#!/usr/bin/env node import { excel2json } from "../utils/excel-to-json"; import { Command } from 'commander'; import packageDataE2J from '../../package.json'; const program = new Command(); // 版本输出 program .version(packageDataE2J.version, '-v, --version', '查看工具版本') .usage('<command> | [options]'); // 自定义选项参数 program .option('-i, --input <file>', '必填,输入要导成json的xls、xlsx文件,可带路径') .option('-r, --rule <key-col-num:key-col-interval>', '选填,解析表格规制,key-col-num为数据key列索引,key-col-interval为数据范围(如:0:[4,15]表示第一列为key,第五列到第十九列为数据),默认为0:[1]', '0:[1]') .option('-a, --add', '选填,增量导出数据,先获取原有数据') .option('-nmf, --not-match-filename', '选填,不检验文件或文件夹名称为小写字母-大写字母') .option('-k, --key', '选填,已key为主体导出数据,没值时为空字符串') .option('-mod, --multilevel-object-deconstruct', '选填,将key以“.”分隔的数据转成多层对象') .option('-o, --output <path>', '选填,输出文件路径及后缀配置(ts/js/json),文件名或文件夹以**代替,文件存储路径不存在则自动创建,默认为./**.ts', './**.ts') .helpOption('-h, --help', '查看命令帮助文档'); // 报错时提示通过 -h 或 --help 查看命令帮助文档 program.showHelpAfterError('通过 -h 或 --help 查看命令帮助文档'); // 未知命令是唤起帮助 program .command('help', { isDefault: true }) .description('查看命令帮助文档') .action(() => { if (program.args.includes('help') || program.args.length > 0) { program.outputHelp(); } }); program.parse(process.argv); // 默认没有命令参数时唤起帮助 if (!process.argv.slice(2).length) { program.outputHelp(); } const options = program.opts(); // 当有文件输J入时导出文件 if (options.input) excel2json(options); // 获取非命令参数 program.args