易表在线答疑技术与交流用户社区 → [原创]如何从任意一个EXCEL表中导入数据至本易表文件中指定的表中?


  共有19052人关注过本帖树形打印复制链接

主题:[原创]如何从任意一个EXCEL表中导入数据至本易表文件中指定的表中?

帅哥哟,离线,有人找我吗?
tzszw
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
[原创]如何从任意一个EXCEL表中导入数据至本易表文件中指定的表中?  发帖心情 Post By:2006/11/12 15:15:00 [只看该作者]

   有一个易表文件,其中有多个表,比如:A表、B表、C表各一个,现想将一个EXCEL表格中的数据导入其中的B表中,请教如何操作?(假设该EXCEL表所在的目录不固定,可能在桌面上,也可能本机器硬盘的任意一个目录中)
   我的程序在局域网上使用,在服务端的机器上当时使用ImportDBFile(SourceFile, FileType,SourceGrid)命令且将三个参数指定具体内容是可以正常使用的(服务端指定了SourceFile为"d:\转换数据.XLS";FileType为6--Excel 8.0文件;SourceGrid为B表),但客户端就不能正常使用了。
   因为对客户端来讲,SourceFile应为服务端的"d:\转换数据.XLS",即是指服务器上D盘根目录下的名称为“转换数据.XLS”的EXCEL表格,而这个文件是要求转换前可变动的,但客户端的用户并不能将要转换的文件放到服务端机器的D盘根目录下,因为客户端的用户并不能到存放服务器的房间去且也无权对服务器中的文件进行直接操作。也就是说我们怎么才能将本机的EXCEL表(所在的目录不固定)导入到服务端的易表程序的指定表B中呢?
  特此请教!
  谢谢!

-=-=-=- 以下内容由 tzszw2006年11月12日 03:31pm 时添加 -=-=-=-
我也曾用过do(6),但导入的数据另外生成了表sheet1,并不能直接导入到指定的B表,实在没办法!

-=-=-=- 以下内容由 tzszw2006年11月12日 03:37pm 时添加 -=-=-=-
我想实在没法了的话,如果能找出最后一个表的对应顺序号,使用AppendFor命令或许能解决这个问题,因为该命令可以支持“表位置”追加记录概念(即参数Grid  --来源表,可以用表名,也可以用表位置表示)

-=-=-=- 以下内容由 tzszw2006年11月12日 03:40pm 时添加 -=-=-=-
而用do(6)导入的数据总是在最后一个表中的,只要解决了表的顺序号(即"表位置")问题,这个问题也许就能变通解决,有谁知道如何获取易表文件中最后一个表的顺序号(即"表位置")?
请指教!谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
yangming
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:2062 积分:20 威望:0 精华:0 注册:2006/8/11 10:51:00
  发帖心情 Post By:2006/11/12 15:42:00 [只看该作者]

如果EXCEL表与易表文件的列名称及列的顺序是完全一样,是可以导入到此表中的

 回到顶部
帅哥哟,离线,有人找我吗?
tzszw
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2006/11/12 15:59:00 [只看该作者]

杨版:
  你好啊!
  可能你没完全理解我提这个问题的真正意思,我用ImportDBFile(SourceFile, FileType,SourceGrid)(SourceFile为"d:\转换数据.XLS";FileType为6--Excel 8.0文件;SourceGrid为"B表")这个命令已正常使用好长时间了,也正常导入过好几次的数据,但以前都是在易表程序所在机器上执行的(虽是网络使用,但是在服务端机器导入的)。前几天因网络改造将易表程序放到了“计算机信息中心”机房的服务器上了(中心机房与用户不在同一楼层的同一个房间,相互间不好随便进出),这样客户端的导入就不行了。
  原因如下:“因为对客户端来讲,SourceFile应为服务端的"d:\转换数据.XLS",即是指服务器上D盘根目录下的名称为“转换数据.XLS”的EXCEL表格,而这个文件是要求转换前可变动的,但客户端的用户并不能将要转换的文件放到服务端机器的D盘根目录下,因为客户端的用户并不能到存放服务器的房间去且也无权对服务器中的文件进行直接操作。”
  现在情况下,如果客户端用户将“转换数据.XLS”的EXCEL表格拷入服务端的D盘根目录下或覆盖该目录下原来的“转换数据.XLS”文件则导入是可行的(因为此时服务端D盘根目录下“转换数据.XLS”文件已是客观存在的或最新的表格文件了)。但这样做就不方便了,因为客户端的用户不方便进行“中心机房”且不好随便使用“中心机房”的机器。
  

 回到顶部
帅哥哟,离线,有人找我吗?
yangming
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:2062 积分:20 威望:0 精华:0 注册:2006/8/11 10:51:00
  发帖心情 Post By:2006/11/12 16:09:00 [只看该作者]

这样啊,那麻烦大了

 回到顶部
帅哥哟,离线,有人找我吗?
tzszw
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2006/11/12 16:18:00 [只看该作者]

  我想,如果能解决一个表在易表文件中的“表位置”,可能是好变通解决此问题的,一个表在易表文件中的“表位置”好象在哪见过介绍,但我不记得了,希望知道“表位置”功能或用法的指教一下!
  谢谢!

-=-=-=- 以下内容由 tzszw2006年11月12日 04:28pm 时添加 -=-=-=-
知道了“表位置”,也许就可以通过以下方法变通处理:
第一步,在“B表”做个录入窗口,放个命令按钮"外部导入",公式为do(6)(可以从外部任意位置的EXCEL表格导入数据,当然最好要寻放的数据结构与B表一致且EXCEL表中只有一个小表即Sheet1,其他Sheet2和sheet3全部删除掉);
第二步,再加一个命令按钮"正式导入"(找出本易表文件中最后一个表的“表位置”,假如是18。用AppendFor(18),这里18为“表位置”,对应刚刚在第一步导入的sheet1表),再看看,也许就成功了!

 回到顶部
帅哥哟,离线,有人找我吗?
yangming
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:2062 积分:20 威望:0 精华:0 注册:2006/8/11 10:51:00
  发帖心情 Post By:2006/11/12 16:23:00 [只看该作者]

是否可以这样?你在文件的最后复制一个与你的表相同的表,名字不同,这样导入EXCEL总是导入到这个文件中,然后在原表中用公式取最后导入的表中的数据。可否?

 回到顶部
帅哥哟,离线,有人找我吗?
tzszw
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2006/11/12 16:41:00 [只看该作者]

杨版:
  你好啊!即使在客户端,作为系统开发人员我也是有办法导入数据的,我可以用管理员身份进去,随便导入,然后将易表文件“另存为”客户端桌面上或其他目录的另外一个文件,再转折一下导入要导入的表,但普通用户是没法这样做的。
  另外,你讲的“你在文件的最后复制一个与你的表相同的表,名字不同,这样导入EXCEL总是导入到这个文件中,然后在原表中用公式取最后导入的表中的数据。”这种方法,其关键是不能保证要导入的数据会放到“最后一个文件中”,因为使用do(6)总是产生新表文件,如在“本易表文件”的最后产生一个新的“表文件”sheet1(从EXCEL文件的sheet1中导入来且同名。)。当然从本机的固定目录的固定文件中导入是可以导入到指定的“表文件”中的(即还是用ImportDBFile("d:\转换数据.XLS",6,"B表")公式),但这样就又回到我在上面说的问题上去了,即客户端的用户不能自由在使用服务端的机器及相关目录和文件。

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2006/11/12 16:42:00 [只看该作者]

易表最后一个表的表位置:Grids,当前表:Grid

 回到顶部
帅哥哟,离线,有人找我吗?
tzszw
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2006/11/12 16:46:00 [只看该作者]

谢谢czy老师,我就支试试!

 回到顶部
帅哥哟,离线,有人找我吗?
tzszw
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蒙面侠 帖子:2409 积分:400 威望:0 精华:0 注册:2006/8/14 19:31:00
  发帖心情 Post By:2006/11/12 16:53:00 [只看该作者]

CZY老师:
  你好啊,我做了一个命令按钮,其公式为Appendfor(Grids),但没能成功追加到数据,不知何故?你可有好的办法?请指教!
  

-=-=-=- 以下内容由 tzszw2006年11月12日 04:55pm 时添加 -=-=-=-
AppendFor(Grid, FromCols, ToCols,CompareCol,CompareMode,CompareValue, ...)
Grid         来源表,可以用表名,也可以用表位置表示
也就是说这里的"Grid    来源表,可以用表名,也可以用表位置表示
"的"表位置"怎么理解和使用呢?

 回到顶部
总数 24 1 2 3 下一页