Foxtable(狐表)用户栏目专家坐堂 → 想合并50个电子表或拆分为50个电子表


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

主题:想合并50个电子表或拆分为50个电子表

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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
想合并50个电子表或拆分为50个电子表  发帖心情 Post By:2016/3/21 22:49:00 [只看该作者]

由于要经常把50个同样格式的电子表合并为一个电子表就想用狐表来解决。

1、考虑用导入,因为事先不指导电子表的每列的列名,这样导入后就得到一个新表,但是导入表无法一下子若干个表。

2、考虑用合并,合并可以一下子合并若干个同格式的表,但事先要建立一个内部表,还要定列名,合并还要确定导入的对应的列名,但要合并的电子表的列名不是一成不变的。

 

另外:如果一个表中含有若干个单位的数据,其中一个列中的数据是各单位的名称,先导入,然后根据单位名导出为若干个表?

 

敬请老师指点迷津!


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/21 23:26:00 [只看该作者]

没理解你的意思。导入参考 http://www.foxtable.com/help/topics/0684.htm

 

如果要编码合并数据,参考 http://www.foxtable.com/help/topics/2334.htm

 


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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2016/3/22 10:25:00 [只看该作者]

有一个电子表,格式大致如下:

序号    单位    姓名    性别   年龄   学历  地址
1
2
3
。。。

把这个电子表发到50个单位填写,得到50张电子表,现在想把这些表合并为一个电子表,想用狐表来实现。
   
   反之:就是把合并的表,按照单位名称,拆分为50个电子表

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/22 10:29:00 [只看该作者]


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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2016/4/20 10:50:00 [只看该作者]

想请老师帮我解决一个小的问题:如何读取电子表的列名

  1、我在一个窗体里建立了若干个文本框:文本01、文本02、文本03、。。。。。
  
  2、有一个excel电子表:职工总表,列名称在第2行或者第3行(暂时定第2行)

  3、想把excel表的第2行的列的内容一次读取放到文本框里

请老师指点该怎么来写代码! 

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/20 10:54:00 [只看该作者]

Dim Book As New XLS.Book("d:\test.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
For i As Integer = 1 To sheet.Cols.count
    msgbox(i & " " & sheet(1, 1).Text)
Next

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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2016/4/21 9:10:00 [只看该作者]

Dim lm1 As Winform.TextBox = Forms("导入电子表窗体").Controls("列名01")
Dim lm2 As Winform.TextBox = Forms("导入电子表窗体").Controls("列名02")
.
.
.   (省略)
Dim lm24 As Winform.TextBox = Forms("导入电子表窗体").Controls("列名24")

 Dim 文本内容 As String 
Dim Book As New XLS.Book("d:\事业单位编制人员名册.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)
For i As Integer = 1 To sheet.Cols.count
    msgbox(i & " " & sheet(1, i).Text) 
    文本内容 = "lm" & i & ".text"
    文本内容 =  sheet(1, i).Text
    If len(sheet(1, i + 1).Text) = 0 Then
        Return
    End If
Next

我知道是红色部分错了,但不知道怎么来表达,烦请老师指点!

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/21 9:14:00 [只看该作者]

e.form.Controls("lm" & i).Text = sheet(1, i-1).Text

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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2016/4/21 9:24:00 [只看该作者]

特别感谢大红袍老师,汇报一下,有个小小的修改


Dim lm1 As Winform.TextBox = Forms("导入电子表窗体").Controls("列名1")

。。。(省略,一直到列名24)

Dim 列名行 As WinForm.NumericComboBox = e.Form.Controls("列名行")

' -- 获得电子表的列名,填写到文本框内

Dim 总表 As New XLS.Book("d:\事业单位编制人员名册.xls")

Dim Sheet01 As XLS.Sheet = 总表.Sheets(0)

For i As Integer = 1 To sheet01.Cols.count

    e.form.Controls("列名" & i).Text = sheet01(val(列名行.text) - 1 , i-1).Text 

                       ‘红色部分不是写成lm,因为这里是控件名,不知我的解释对不对

    If len(sheet01(1, i + 1).Text) = 0 Then

        Return

    End If

Next

---再后面是合并数据的程序


这里有个新的问题,蓝色字体Return,用错了,我的本意是跳出来的,没想到这样一来,在next 后面再写任何代码都不会执行了。

请老师指点迷津.


[此贴子已经被作者于2016/4/22 20:27:48编辑过]

 回到顶部