最近接到個需求是通過excel文件生成數據庫,於是便做了這麼個工具;
開發思路:
1、讀取Excel文件;
2、將內容轉換爲sql;
3、生成對應類型的sql文件;
讀取Excel 使用現成的工具 xlsx.core.js;
xlsx.core.js 中重要的兩步,
1、是設置讀取的類型;
…
XLSX.read(data, {
type: ‘binary’
});
…
2、是讀取的結果值進行格式化
…
XLSX.utils.sheet_to_json(…);
…
以上實現請查看本人資源文件GetExcelData.js
將內容生成指定的sql語句:
這裏需要注意的是依據生成不同的sql類型,會產生不同的規則
如:
1、mysql 和sqlserver、oracle中不是所有的數據類型都相同;
當然,如果你很熟悉,那麼直接數據庫工具跑起來;這裏主要是小白不瞭解每種數據庫的字段類型(當我沒說),那麼我會在工具當中提供一種不同數據庫之間類型的比較庫,當出現不屬於你當前想創建的sql庫中的類型時它會依照對照表獲取這個類型在此sql庫中應該屬於什麼類型從而實現替換;(當然本人實現有報錯文件的版本,但不在此處,有需要的飼料)
2、不同sql庫中的機制約束啥的都不一致,所以…
以上實現請查看本人資源文件Data2Sql.js
下面是你們關心的使用方法:
1、引入 js文件
<script src=“https://cdn.bootcss.com/xlsx/0.11.5/xlsx.core.min.js”>
<script type=“text/javascript” src=“GetExcelData.js”>
<script type=“text/javascript” src=“data2sql.js”>
…
3、創建相關實例化對象並使用
<script type=“text/javascript”>
let obj = new GetExcelData(document.getElementById(“file”));
function fun() {
let obj2 = new Data2Sql(obj.data,“mysql”).domClick();
}
</script>
…
2、創建上傳文件的對象
<input type=“file” id=“file”>
<button type=“button” οnclick=“fun()”>生成SQL文件</button>