nodejs之excel转mysql的工具

2018-10-07  本文已影响67人  陨石坠灭

使用:

初始化

  npm install excel2mysql

使用

只打印sql:

var excel2mysql = require('excel2mysql');

var excelPath = "./sample.xls";

var excelPath = "./sample.xls";

excel2mysql({
    input: excelPath,
    model: 'create'
}, function (err, sql, result) {
    err && console.error(err);
    sql && console.log(sql.sql);
});

链接mysql:

var excel2mysql = require('excel2mysql');

var excelPath = "./sample.xls";

excel2mysql({
    input: excelPath,
    model: 'create',
    mysql: {
        host: '127.0.0.1',
        user: 'work',
        password: 'work',
        port: '3306',
        database: 'test'
    }
}, function (err, sql, result) {
    err && console.error(err);
    sql && console.log(sql.sql);
});

参数

delete: 只是删除相关大表
update: 只会增加新的表,并将数据导入到新表中
create: 删除所有表,然后创建表再导入数据

excel表格格式

配置要生成sql的表

1.png

配置表和数据

2.png

第3行的数据类型说明:

data type(row:3):[type],[pk,ai,nn,uq,(0)]...

(0) = default 0 
ai = auto_increment
nn = not null
up = unique
pk = primary key

如果使用 ai, 该列将不会导入数据

3.png

全局安装

npm install excel2mysql -g

作为命令行的使用方式

excel2mysql -o ./x.sql -i ./sample/sample.xls -S 100

命令行参数

$: excel2mysql --help

Options:
  -i, --input=ARG          excel文件的路径,必须
  -o, --output=ARG         sql导出路径或文件,非必须
      --no-comment         生成的sql不出现注释
      --show-sql           打印sql到控制台
  -S  =ARG                     数字,打印sql到控制台,sql字符串长度小于这个数字
      --ingnore-prefix=ARG 忽略带该前缀的字段
      --help               显示帮助
  -v, --version            显示版本
  -m, --model=ARG          模式: create(默认), delete, update
  -P, --port=ARG           mysql:port 默认: 3306
  -h, --host=ARG           mysql:host 默认: 127.0.0.1
  -p, --password=ARG       mysql:password 默认: root
  -u, --user=ARG           mysql:username 默认: root
  -d, --database=ARG       mysql:database

简书地址

github地址

上一篇 下一篇

猜你喜欢

热点阅读