最近接到任务要录入数据到数据库中,是将Execl表格中的数据导入到ACCESS数据文件中,对于技术人员,怎么可能会甘心复制粘贴,凑巧前段时间一直在研究按键精灵(主要是游戏太累手了),突然眼前一亮,呵呵,几百条的数据我根本不慌。sql
我也是一边写逻辑,一边学习写法,跨语言学习,你们懂得。数据库
这里贴上代码函数
// access 数据文件 Ret = Plugin.Access.Connect(".mdb后缀的文件", "123456") MessageBox ret // 提示是否链接到数据库中 // 要打开的excel文件 //Call Plugin.Office.OpenXls("Excel文件地址,") price1 = "" For i = 2 To 63 Step 1 price1 = "" 纵列1 = Plugin.Office.ReadXls(1, i, 1) 纵列2 = Plugin.Office.ReadXls(1, i, 2) 纵列3 = Plugin.Office.ReadXls(1, i, 3) 纵列4 = Plugin.Office.ReadXls(1, i, 4) 纵列5 = Plugin.Office.ReadXls(1, i, 5) //输出循环 (纵列1) 处理货币 (估价) table = "表名" field = "`字段1`, `字段2`, `字段3`, `字段4`, `字段5`" value = "'" & Trim(纵列1) & "', '" & Trim(纵列2) & "', '" & Trim(纵列3) & "', '" & Trim(纵列4) & "', '" & Trim(纵列5) & "'" sql = " insert into " & table & " (" & field & ") values (" & value & ")" Ret = Plugin.Access.Query( sql ) SayString sql KeyPress "Enter", 1 SayString i KeyPress "Enter", 1 SayString Ret KeyPress "Enter", 3 Delay 300 Next MessageBox "程序结束!" /** * 输出循环 查看输出信息 * * */ Function 输出循环(name) SayString name KeyPress "Enter", 1 Delay 300 End Function /** * 货币函数 * 函数主要功能是 千位分组,公司金额要求千位有一个逗号 而后金额有区间用 - 隔开 若是无价之宝 就用无价之宝文字代替 * 函数中用到递归处理方式 */ Function 处理货币(price) If price = "无价之宝" Then price1 = price Else strIs = InStr(price, "-") If strIs > 0 Then // rstrIs = InStrRev(price, "-") // lfStr = Left(price, strIs-1) // lrStr = Right(price, rstrIs-1) // 注释这块计算金额类型时有必定问题 截取100,000 字样时 返回00,000 因此换成下面这个方式 L = Len(price) lfStr = Left(price, strIs-1) lrStr = Right(price, L-strIs) lfprice = 处理货币(lfStr) lfprice = 处理货币(lrStr) price1 = lfStr & "-" & lrStr Else length = Len(price) If length > 3 Then // 截取左边剩下的部分 lstr = Left(price, length - 3) rstr = "," + Right(price, 3) // 返回值 处理货币(lstr) price1 = price1 + rstr Else price1 = price End If End If End If End Function
Ret = Plugin.Access.Connect("文件路径", "密码") MessageBox Ret 这个地方提示-1表示链接上文件,这个语言真是特别正常都是1表示链接上,但这是-1才能链接
这个密码要特殊说明一下,若是文件没有密码就随便打下,由于按键精灵这个我也不是特别明白,明明没有密码,可是不输入链接不上文件。学习
Call Plugin.Office.OpenXls("文件路径")
这个是调用按键精灵的内部函数 用call这个方法调用,不懂去查官方说明。excel
定义 price1 全局变量code
进入循环部分,循环部分是Excel表格中一共有多少行,我是从第二行开始的,第一行为描述,递归
Plugin.Office.ReadXls 这个功能不懂自行按键精灵官方查询
进入循环初始化price1变量,for从第二行开始 到63行结束步长为1, 步长的意思就是跟 ++,加多少就写几,处理货币,是由于货币有特殊说明,要进行千位分组,而且有的物品是文字描述,有的物品仍是区间模式。下面讲解,继续文本流,函数块后续补上,而后进行表名选择,字段,值添加,最好要按照sql标准去写,而后最后在执行按键精灵时,打开一个txt文档,把相关信息打印到里面,打印sql语句,执行到第几条i, 是否插入成功Ret(这个值为-1才表示插入成功) 每次执行延时300毫秒,循环完毕程序结束。游戏
函数块讲解:文档
处理货币:首先判断是不是文字信息,判断完毕,不是进入价格处理,判断是不是区间金额,以 - 表示分隔符,若是存在-进入区间判断,而后截取-前面和后面的金额,而后递归进行千位分组,由于按键精灵中不存在返回值return这种函数,因此采用所有变量形式处理。