開源一個Golang寫的Excel(xlsx)導入MySQL小工具

簡介

這是工做中用到的一個小工具,將Excel(xlsx)表導入MySQL表中,用Golang寫的,每條記錄單獨一條 goroutine 處理,提升效率。支持隨機數生成、密碼生成、時間戳;支持關聯查詢、附表操做等。mysql

使用方法

  1. 使用Go編譯安裝或直接下載:https://github.com/TargetLiu/xlsxtomysql/releasesgit

  2. 使用命令: xlsxtomysql [DSN] [數據表名稱] [*.xlsx]github

DSN

格式:sql

[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...&paramN=valueN]

示例:數據庫

root:123@tcp(127.0.0.1:3306)/dbname

注意:
Linux、Mac下可能須要輸入 \( \)dom

Excel表導入結構說明

  1. 只支持單Sheettcp

  2. 第一行對應數據庫表字段工具

    • 經過 | 分割加密

    • 字段名|unique 判斷重複,重複的自動跳過spa

    • 字段名|password|[md5|bcrypt] 密碼生成,第二個參數[md5|bcrypt]

    • 字段名|find|表名|須要獲取的字段|查詢字段 根據內容從其它表查詢並獲取字段,格式 SELECT 須要獲取的字段 FROM 表名 WHERE 查詢字段 = 內容

    • :other 附表操做

  3. 內容行

    • :random 生成隨機字符串

    • :time 當前unix時間戳

    • :null 空值,自動跳過該值,通常可用於自增id

    • 若是該列爲 password ,內容爲[明文密碼]或[明文密碼|鹽],鹽能夠經過[:字段名]獲取以前的字段名。密碼將自動根據字段名中填寫的加密方式進行加密

    • 若是該列爲 other , 格式[表名|字段1|字段2|字段3....] 其它表須要按順序爲每一個字段添加內容。字段能夠爲[:null|:id(主表生成的自增ID)|:random|:time]

Excel截圖

Excel截圖

關於做者

個人博客:http://targetliu.com/

GitHub:https://github.com/TargetLiu

相關文章
相關標籤/搜索