将本地磁盘的数据读入数据表中

在开发系统的过程中,经常遇到要将本地的excel表中的数据导入到数据库中。

如在数据库在本地,还可以用CONTROL+C/CONTROL+V来进行。在网上的数据库就不那么容易了。

以下程序不论数据库在什么地方,均可轻易地将excel数据导入到数据库中,大大地节约了你的时间。

注意:

   1,excel文件的格式为.csv

   2,如果出现automactic提示,请设置本地为信认站点

   3,表字段用逗号分隔

   4,一般的作法是将数据先导入到临时表中,如无错误,再导入到正式表中.或者先在临时数据库中测试.

   5,如导入过程中出现错误,可先仔细分析出错原因,纠正后再重新导入.

 

 

<%@ LANGUAGE="JAVASCRIPT" %>
<!-- #include file = "adojvs.inc"-->
<!-- #include file = "conn.inc"-->
<span id=err>&nbsp;</span>
<%
 Response.Expires=0
// 将本地磁盘的数据读入数据表中, Javascript
// Gu Laicheng, 2008.11.25

 var SelectStr,MySQL;

 var txt,fld,tab;

 var FormMode = Request.Form("FormMode")+"";
if (FormMode=="OK")
{
 SelectStr = Request.Form("SelectStr")+""  //完整的select语句

 txt = Request.Form("Loadtxt")+"";
 fld = Request.Form("fld")+"";
 tab = Request.Form("tab")+"";

 var A=txt.split(";")
 for(var i=0;i<A.length-1;i++)
 {
  MySql = "insert into "+tab+" ("+fld+") values ('"+A[i].replace(/,/g,"','")+"')"
  dc.CommandText = MySql
  Debug_Messages(dc.CommandText)

  try {
   dc.Execute
  }
  catch (ex) {
   var ErrStr = "Error:"+ex+" "+dc.CommandText
   var o = conn.Errors
   for (var i=0;i<o.Count;i++)
   {
    ErrStr += "//n"+o.Item(i).Number + ":" + o.Item(i).Description
   }
   o.Clear()
//   Response.Write("<script language=javascript>alert(/""+ErrStr+"/")</script>")
   Response.Write("<script language=javascript>err.innerText=/""+ErrStr+"/";</script>")
   Response.End
  }
 }
 Response.Write("<script language=javascript>err.innerText=/"成功插入"+A.length+"条记录。/";</script>")

} else if(FormMode=="undefined")
{
 txt = ""
 fld = ""
 tab = ""
}
 
%>
<form action="<%=Request.ServerVariables("URL")%>" method="POST" name="MyForm0">
<input type=hidden name='FormMode' value='<%=FormMode%>'>
<table>
<tr>
<td>EXCEL数据:</td><td><textarea name=Loadtxt rows=10 cols=80></textarea></td>
</tr>
<tr>
<td>字段名:</td><td><input type=text name='fld' value='<%=fld%>' size=50>(以逗号分隔)</td>
</tr>
<tr>
<td>表名:</td><td><input type=text name='tab' value='<%=tab%>'></td>
</tr>
<tr>
<td></td><td><input type=button name=confirm value='OK' οnclick="FormMode.value='OK';MyForm0.submit();"></td>
</tr>
</table>
</form>
<script language=javascript>
var s = ''

// 如果出现automactic提示,请设置本地为信认站点

// 读取csv文件 Gu Laicheng. 2008.11.25
 var fileStr = "d://LoadFromExcel.csv",ForReading=1;
 var fso = new ActiveXObject("Scripting.FileSystemObject");

try {
 var a = fso.OpenTextFile(fileStr, ForReading,false);
}
catch (ex) {
 alert(ex);
}

 var s="";
 while (!a.AtEndOfStream) s+=a.ReadLine()+";";
 a.Close();
 MyForm0.Loadtxt.value = s;

if (MyForm0.FormMode.value=="OK")
{
 MyForm0.confirm.disabled = 1;
}
</script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值