以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 想合并50个电子表或拆分为50个电子表 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=82632) |
-- 作者:zhangchi96 -- 发布时间:2016/3/21 22:49:00 -- 想合并50个电子表或拆分为50个电子表 由于要经常把50个同样格式的电子表合并为一个电子表就想用狐表来解决。 1、考虑用导入,因为事先不指导电子表的每列的列名,这样导入后就得到一个新表,但是导入表无法一下子若干个表。 2、考虑用合并,合并可以一下子合并若干个同格式的表,但事先要建立一个内部表,还要定列名,合并还要确定导入的对应的列名,但要合并的电子表的列名不是一成不变的。
另外:如果一个表中含有若干个单位的数据,其中一个列中的数据是各单位的名称,先导入,然后根据单位名导出为若干个表?
敬请老师指点迷津! |
-- 作者:大红袍 -- 发布时间:2016/3/21 23:26:00 -- 没理解你的意思。导入参考 http://www.foxtable.com/help/topics/0684.htm
如果要编码合并数据,参考 http://www.foxtable.com/help/topics/2334.htm
|
-- 作者:zhangchi96 -- 发布时间:2016/3/22 10:25:00 -- 有一个电子表,格式大致如下:
序号 单位 姓名 性别 年龄 学历 地址 1 2 3 。。。 把这个电子表发到50个单位填写,得到50张电子表,现在想把这些表合并为一个电子表,想用狐表来实现。 反之:就是把合并的表,按照单位名称,拆分为50个电子表 |
-- 作者:大红袍 -- 发布时间:2016/3/22 10:29:00 -- 1、合并 http://www.foxtable.com/help/topics/0685.htm
2、拆分 http://foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=81808&skin=0
|
-- 作者:zhangchi96 -- 发布时间:2016/4/20 10:50:00 -- 想请老师帮我解决一个小的问题:如何读取电子表的列名
2、有一个excel电子表:职工总表,列名称在第2行或者第3行(暂时定第2行)
3、想把excel表的第2行的列的内容一次读取放到文本框里
请老师指点该怎么来写代码!
|
-- 作者:大红袍 -- 发布时间: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 -- 发布时间: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 我知道是红色部分错了,但不知道怎么来表达,烦请老师指点! |
-- 作者:大红袍 -- 发布时间:2016/4/21 9:14:00 -- e.form.Controls("lm" & i).Text = sheet(1, i-1).Text |
-- 作者:zhangchi96 -- 发布时间: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编辑过]
|