excel生成分表sql小工具


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>sharding toolkit</title>
<style>
	#input{width: 1200px; height: 500px;}
	#template{width: 1200px;}
	#result{font-size:12px;}
	.introduce{font-size:12px; color:#00F;}
</style>
</head>

<body>
<h4>sharding toolkit</h4>
<p>	
	<div class="introduce">数据,从excel拷贝出来,按\t分割的多列数据</div>
	<textarea id="input"></textarea>
</p>
<p>	
	<div class="introduce">模板,$x代表一般变量,#x代表sharding变量,x=列序号(0开始),如update table_#0 set a = '$1' where sku_code = '$0'; </div>
	<input type="text" id="template"></input>
</p>
<p>	
	<div class="introduce">分表,算法 = Math.abs(字符串.hashCode()) % shardingCount</div>
	<select id="sharding">
		<option value="4">4</option>
		<option value="8">8</option>
		<option value="16">16</option>
		<option value="32">32</option>
	</select>
</p>
<p>
<button id="generate">按模板生成SQL</button>
<div id="result"></div>	
</p>
	
<script type="application/javascript" language="javascript">

String.prototype.hashCode = function(){
	var hash = 0;
	if (this.length == 0) 
		return hash;
	for (i = 0; i < this.length; i++) {
		char = this.charCodeAt(i);
		hash = ((hash<<5)-hash)+char;
		hash = hash & hash; // Convert to 32bit integer
	}
	return hash;
}

function sharding(str, shardingCount){
	return Math.abs(str.hashCode()) % shardingCount;
}
	
function merge(template, columnArray, shardingCount){
	for(var i = 0; i < columnArray.length; i++){
		template = template.replaceAll('$' + i, columnArray[i]);
		template = template.replaceAll('#' + i, sharding(columnArray[i], shardingCount));
	}
	return template;
}

document.getElementById('generate').onclick = function(){
	var input = document.getElementById('input').value;
	var template = document.getElementById('template').value;
	var shardingInput = document.getElementById('sharding');
	var shardingCount = shardingInput.options[shardingInput.selectedIndex].value;
	
	if(input == ''){
		alert('输入数据不能为空');	
		return;
	}
	
	if(template == ''){
		alert('模板不能为空');
		return;
	}
		
	var inputArray = input.split('\n')
	var result = [];
	for(var i = 0; i < inputArray.length; i++){
		var row = inputArray[i];
		if(row != ''){
			var column = row.split('\t'); 
			result.push(merge(template, column, shardingCount));
		}
	}
	
	document.getElementById('result').innerHTML = result.join('<br/>');
}

</script>
</body>
</html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以将excle文件导入SQL SERVER 的工具,一个将excel文件导入到SQLServer表中的程序 一 双击Input.exe运行程序,将弹出一个窗口,这时请你在"数据库名"后面的输入栏中输入数据库名(如果是千方百剂就是输入帐套名).你如果没对数据库的登录进行特殊修改的话,那"用户名和密码"就没必要修改了. 二 填好以上输入框后,真接单击"连接数据库",如果连接成功,将弹出"数据库连接成功,你现在可以导入数据"的对话框,你按"OK"后将弹出新的一个数据导入的窗口. 三 在这个窗口上单击"打开EXCEL文件"按钮,然后选择你要导入的Excel文件,按打开(这时如果你数据比较多的话你可能要多等一会儿时间),之后就弹出一个让你选择Excel工作区的窗口,你可以在下拉框中选择你数据所在的Excel工作区了.选完以后按确定,你可以看到你Excel里的数据已经在"Excel数据信息"里面了.而且还可以看到多了一列"不导入"的选项了.你如果哪一行的数据不导入的话你可以打勾,这一行将不被导入. 四 做完以上三步后,请在"表名"后面的下拉框中选择你所要导入的表的名称.选完后,你得到"数据换信息如下"这一栏配置数据换的对应关系. 五 双击Excel字段处从下拉框中选择excel的列,双击表字段处从下拉框中选择SQL表的列,然后看这列是否是"关键字",是的话打勾,不是不打勾.选择完第一行后,就按方向键的向下键,继续第二行的选择,直到配置完Excel列和表字段的对应关系为止. 六 按"导入数据"按钮系统会自动将页面到"换信息"这一页面.你将可以看到第几行导入成功,或第几行导入失改的信息.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值