阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

老司机
查看: 3142|回复: 4

[转帖] 如何将EXCEL中的数据导入至商

[复制链接]

该用户从未签到

发表于 2007-12-16 17:34:51 | 显示全部楼层 |阅读模式
系统环境:Windows 98/2000/XPSQL Server/MSDE 2000Office 2000/XP/2003

下面的例子中为Windows 2000 ServerSQL Server 2000 个人版,Office 2003

导入数据可以参照如下步骤进行:

一、准备工作
1.         在至商中创建一个帐套,例如“测试”,可以根据实际需要更改帐套名;

2.         在需要导入的基本信息中都填写1条资料,越详细越好,以便对照;

3.         准备好实际使用的基本信息数据资料,必须也是Excel格式的,否则需自行转换。


二、导出样表
1.         新建一个Excel表格,点击菜单“数据”->“导入外部数据”->“导入数据”,出现对话框“选择数据源”,选中“+新的 SQL Server 连接.odc”,点击按钮“打开”;

2.         配置“数据连接向导”:

a.         连接数据库服务器:服务器名称与SQL服务管理器中的服务器名相同,也可以简单地用“.”代替,登录凭据可以选择“使用Windows验证”,然后点击按钮“下一步”;

b.         选择数据库和表:数据库选择“测试”,选中“连接到指定表格”,数据表选择“WareInfo”,然后点击按钮“下一步”;

c.         保存数据连接文件并完成:点击完成即可。

3.         导入数据:

数据的存放位置就选择“现有工作表”;然后点击按钮“确定”。

三、添加数据
1.         将实际的数据逐列复制过来,需要注意的是,原始表格的第1行标题行不能删改,第2必须删除,编号和商品名称不能同时相同,不能自动判断重复的编号和商品名称,必须人工排除,不能没有编号或商品名称(这样会导致转换失败);

2.         点击菜单“工具”->“宏”->“录制新宏”,然后在对话框中点击“确定”,在出现的记录工具窗口中直接点击停止的按钮;

3.         点击菜单“工具”->“宏”->“宏”,然后在对话框中点击“编辑”;

4.         在模块中插入代码(见文后附录),然后点击菜单“运行”->“运行子过程”;

5.         检查后保存退出。

四、导入至商帐套
1.         进入至商系统,删除“测试”帐套里的所有商品资料(必须);

2.         打开SQL Server程序组中的“导入和导出数据”,点击按钮“下一步”;

3.         选择数据源:数据源选择“Microsoft Excle 97-2000”,文件名选择刚才保存的Excel文件,点击“下一步”;

4.         选择目的:其它各项都保持原样,数据库需要改为“测试”,点击“下一步”;

5.         指定表复制或查询:选择“从源数据库复制表和视图”,点击“下一步”;

6.         选择源表和视图:选中“源”列“WareInfo$”前面的复选框,“目的”改为“[测试].[dbo].[WareInfo]”;点击“下一步”;

7.         保存、调度和复制包:选中“立即执行”,点击“下一步”;

8.         完成:点击“完成”,开始导入数据。

9.         导入数据成功后,打开SQL企业管理器,展开“测试”帐套,找到表里的

WareInfo”,修改第1行中的NodeSumNodeCount为导入的商品总数。

附录:粘贴VB代码

A.商品资料:

在打开VB脚本窗口中,有一个标题为“模块1”的子窗口,在Sub Macro1()后面,

End Sub前粘贴如下代码:

For v_r = 2 To 65565

c_r = Format(v_r, "#####")

If Trim(Range("J" + c_r).Value) = "" And Trim(Range("L" + c_r).Value) = ""

Then Exit For

Range("A" + c_r).Value = v_r

Range("B" + c_r).Value = 1

Range("C" + c_r).Value = "'" + Format(v_r - 1, "00000")

Range("D" + c_r).Value = "'00000"

Range("E" + c_r).Value = "'" + Trim(Range("E" + c_r).Value)

Range("F" + c_r).Value = 1

Range("G" + c_r).Value = 0

Range("H" + c_r).Value = 0

Range("I" + c_r).Value = "'" + Trim(Range("I" + c_r).Value)

Range("J" + c_r).Value = "'" + Trim(Range("J" + c_r).Value)

Range("K" + c_r).Value = "'" + Trim(Range("K" + c_r).Value)

Range("L" + c_r).Value = "'" + Trim(Range("L" + c_r).Value)

Range("M" + c_r).Value = "'" + Trim(Range("M" + c_r).Value)

Range("N" + c_r).Value = "'" + Trim(Range("N" + c_r).Value)

Range("O" + c_r).Value = "'" + Trim(Range("O" + c_r).Value)

Range("P" + c_r).Value = "'" + Trim(Range("P" + c_r).Value)

Range("Q" + c_r).Value = "'" + Trim(Range("Q" + c_r).Value)

Range("R" + c_r).Value = "'" + Trim(Range("R" + c_r).Value)

If Range("S" + c_r).Value = 空值 Then Range("S" + c_r).Value = 0

If Range("T" + c_r).Value = 空值 Then Range("T" + c_r).Value = 0

Range("U" + c_r).Value = "'" + Trim(Range("U" + c_r).Value)

Range("V" + c_r).Value = "FALSE"

If Range("W" + c_r).Value = 空值 Then Range("W" + c_r).Value = 0

Range("X" + c_r).Value = "'" + Trim(Range("X" + c_r).Value)

If Range("Y" + c_r).Value = 空值 Then Range("Y" + c_r).Value = 0

If Range("Z" + c_r).Value = 空值 Then Range("Z" + c_r).Value = 0

Range("AA" + c_r).Value = "'" + Trim(Range("AA" + c_r).Value)

Range("AB" + c_r).Value = "'" + Trim(Range("AB" + c_r).Value)

If Range("AC" + c_r).Value = 空值 Then Range("AC" + c_r).Value = 0

If Range("AD" + c_r).Value = 空值 Then Range("AD" + c_r).Value = 0

If Range("AE" + c_r).Value = 空值 Then Range("AE" + c_r).Value = 0

If Range("AF" + c_r).Value = 空值 Then Range("AF" + c_r).Value = 0

If Range("AG" + c_r).Value = 空值 Then Range("AG" + c_r).Value = 0

If Range("AH" + c_r).Value = 空值 Then Range("AH" + c_r).Value = 0

If Range("AI" + c_r).Value = 空值 Then Range("AI" + c_r).Value = 0

If Range("AJ" + c_r).Value = 空值 Then Range("AJ" + c_r).Value = 0

If Range("AK" + c_r).Value = 空值 Then Range("AK" + c_r).Value = 0

If Range("AL" + c_r).Value = 空值 Then Range("AL" + c_r).Value = 0

If Range("AM" + c_r).Value = 空值 Then Range("AM" + c_r).Value = 0

Range("AN" + c_r).Value = v_r - 1

Next


B.客户资料:

For v_r = 2 To 65565

c_r = Format(v_r, "#####")

If Trim(Range("H" + c_r).Value) = "" And Trim(Range("J" + c_r).Value) = "" Then Exit For

Range("A" + c_r).Value = v_r

Range("B" + c_r).Value = 1

Range("C" + c_r).Value = "'" + Format(v_r - 1, "00000")

Range("D" + c_r).Value = "'00000"

Range("E" + c_r).Value = 1

Range("F" + c_r).Value = 0

Range("G" + c_r).Value = 0

Range("H" + c_r).Value = "'" + Trim(Range("H" + c_r).Value)

Range("I" + c_r).Value = "'" + Trim(Range("I" + c_r).Value)

Range("J" + c_r).Value = "'" + Trim(Range("J" + c_r).Value)

Range("K" + c_r).Value = "'" + Trim(Range("K" + c_r).Value)

Range("L" + c_r).Value = "'" + Trim(Range("L" + c_r).Value)

Range("M" + c_r).Value = "'" + Trim(Range("M" + c_r).Value)

Range("N" + c_r).Value = "'" + Trim(Range("N" + c_r).Value)

Range("O" + c_r).Value = "'" + Trim(Range("O" + c_r).Value)

Range("P" + c_r).Value = "'" + Trim(Range("P" + c_r).Value)

Range("Q" + c_r).Value = "'" + Trim(Range("Q" + c_r).Value)

Range("R" + c_r).Value = "'" + Trim(Range("R" + c_r).Value)

Range("S" + c_r).Value = 0

Range("T" + c_r).Value = "'" + Trim(Range("T" + c_r).Value)

Range("U" + c_r).Value = "'" + Trim(Range("U" + c_r).Value)

Range("V" + c_r).Value = "'" + Trim(Range("V" + c_r).Value)

If Range("W" + c_r).Value = 空值 Then Range("W" + c_r).Value = 0

Range("X" + c_r).Value = "'" + Trim(Range("X" + c_r).Value)

If Range("Y" + c_r).Value = 空值 Then Range("Y" + c_r).Value = 0

If Range("Z" + c_r).Value = 空值 Then Range("Z" + c_r).Value = 0

If Range("AA" + c_r).Value = 空值 Then Range("AA" + c_r).Value = 0

If Range("AB" + c_r).Value = 空值 Then Range("AB" + c_r).Value = 0

If Range("AC" + c_r).Value = 空值 Then Range("AC" + c_r).Value = 0

If Range("AD" + c_r).Value = 空值 Then Range("AD" + c_r).Value = 0

If Range("AE" + c_r).Value = 空值 Then Range("AE" + c_r).Value = 0

If Range("AF" + c_r).Value = 空值 Then Range("AF" + c_r).Value = 0

If Range("AG" + c_r).Value = 空值 Then Range("AG" + c_r).Value = 0

If Range("AH" + c_r).Value = 空值 Then Range("AH" + c_r).Value = 0

If Range("AI" + c_r).Value = 空值 Then Range("AI" + c_r).Value = 0

Range("AJ" + c_r).Value = v_r - 1

If Range("AK" + c_r).Value = 空值 Then Range("AK" + c_r).Value = 0

If Range("AL" + c_r).Value = 空值 Then Range("AL" + c_r).Value = 0

If Range("AM" + c_r).Value = 空值 Then Range("AM" + c_r).Value = 0

If Range("AN" + c_r).Value = 空值 Then Range("AN" + c_r).Value = 0

If Range("AO" + c_r).Value = 空值 Then Range("AO" + c_r).Value = 0

If Range("AP" + c_r).Value = 空值 Then Range("AP" + c_r).Value = 0

If Range("AQ" + c_r).Value = 空值 Then Range("AQ" + c_r).Value = 0

Next



[ 本帖最后由 meihua 于 2007-12-16 17:49 编辑 ]
楼主热帖
启用邀请码注册,提高发帖质量,建设交流社区

该用户从未签到

 楼主| 发表于 2007-12-16 17:58:50 | 显示全部楼层
偶然看到,刚好自己也在用至商,所以就照着上述方法尝试了一下,感觉很不错,讲的很详细,所以整理出来供大家学习一下,不过在第三部:导入数据中,复制数据要耐心和注意了,不然可能在最后导入至商帐套时就不断提示复制出错,我也是试了三遍才成功的。
启用邀请码注册,提高发帖质量,建设交流社区

该用户从未签到

发表于 2007-12-18 20:33:29 | 显示全部楼层
哈哈?
启用邀请码注册,提高发帖质量,建设交流社区

该用户从未签到

发表于 2008-2-15 15:34:16 | 显示全部楼层

给个补丁好不好?xylinf@sina.com

给个补丁好不好?xylinf@sina.com
启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情

    2013-12-23 14:53
  • 签到天数: 53 天

    [LV.5]常住居民I

    发表于 2008-2-17 16:44:55 | 显示全部楼层
    哇学习中。学习,这可是高手发的
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表