package Tools.DataEase; import Tools.DataEase.Util.DataEaseUtil; import cn.hutool.core.io.FileUtil; import com.dsideal.QingLong.Util.CommonUtil; import com.jfinal.plugin.activerecord.Db; import com.jfinal.plugin.activerecord.Record; import java.io.File; import java.io.IOException; import java.util.List; import java.util.Map; public class ExcelExportTemplate { public static void main(String[] args) throws IOException { DataEaseUtil.Init(); //文本文件 if (!FileUtil.exist(DataEaseUtil.DataEaseDirectory)) FileUtil.mkdir(DataEaseUtil.DataEaseDirectory); String sql = "select id,name from dataset_table where create_by='admin' and type='excel'"; List listAll = Db.find(sql); int cnt = 0; for (Record record : listAll) { StringBuilder sb = new StringBuilder(); String table_id = record.getStr("id"); String name = record.getStr("name"); String tableName = "ds_" + table_id.replace("-", "_"); sb.append("/*\r\n表名:\r\n" + tableName + "\r\n"); sb.append("\r\n"); sb.append("业务名称:" + name + "\r\n"); //教师职称---> vs---> table //这张表中有多个数据项目 Map _map = DataEaseUtil.getColumnMap(tableName); sql = "select * from " + tableName; List list = Db.find(sql); List cList = DataEaseUtil.getColumns(tableName); if (cList.size() > 2) { sb.append("类型:集合\r\n"); } else { sb.append("类型:单个\r\n"); } String t = "字段顺序:"; boolean flag = false; for (int i = 0; i < cList.size(); i++) {//每一列 String colName = cList.get(i).toLowerCase(); if (_map.containsKey(colName)) { t += _map.get(colName) + ","; flag = true; } } if (flag) { sb.append(t.substring(0, t.length() - 1) + "\r\n"); sb.append("数据行数:" + list.size() + "\r\n"); } sb.append("温馨提示:\r\n"); sb.append("1、使用注释请使用 -- 开头。\r\n"); sb.append("2、支持多行SQL语句,每个SQL语句需要以;号结尾,最后一条也要以;号结尾!\r\n"); sb.append("*/" + "\r\n"); cnt++; FileUtil.writeUtf8String(sb.toString(), new File(DataEaseUtil.DataEaseDirectory + "/" + cnt + "_" + name + ".txt")); } CommonUtil.log("恭喜,所有脚本生成成功!"); //直接打开生成脚本的目录 try { Runtime.getRuntime().exec("cmd /c start explorer " + DataEaseUtil.DataEaseDirectory); } catch (Exception e) { e.printStackTrace(); } } }