Foxtable(狐表)用户栏目专家坐堂 → 求助:多个单独EXCEL表怎么合并在一个工作簿中


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

主题:求助:多个单独EXCEL表怎么合并在一个工作簿中

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
求助:多个单独EXCEL表怎么合并在一个工作簿中  发帖心情 Post By:2016/10/21 21:45:00 [只看该作者]

怎么实现多个表合成一个工作簿  呢?
假定现在有五个1、2、3、4、5.XLS
怎么将其合并在名为“工作簿.xls”的表中呢?


下面代码:
Dim Book As New XLS.Book() '定义一个Excel工作簿

For i As Integer = 1 To 3
    Dim Book1 As New XLS.Book("C:\reports\1.xls") '
    Dim Sheet As XLS.Sheet = Book1.Sheets(0)'引用工作簿的第一个工作表
    book1.Sheets.Removeat(0)
    sheet.name = "表" & i
    book.Sheets.Add(sheet)
Next
book.save("c:\reports\工作簿.xls")

结果是将1.XLS写了三遍    有没有办法实现直接将1.2.3.4.5.xls全部写入工作簿.xls呢?
[此贴子已经被作者于2016/10/21 22:03:16编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107852 积分:548617 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/22 10:25:00 [只看该作者]


[此贴子已经被作者于2016/10/22 10:25:29编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107852 积分:548617 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/22 10:39:00 [只看该作者]

    Dim Book As New XLS.Book() '定义一个Excel工作簿
    
    For i As Integer = 1 To 3
        Dim Book1 As New XLS.Book("C:\reports\" & i &".xls") '
        Dim Sheet As XLS.Sheet = Book1.Sheets(0)'引用工作簿的第一个工作表
        book1.Sheets.Removeat(0)
        sheet.name = "表" & i
        book.Sheets.Add(sheet)
    Next
    book.save("c:\reports\工作簿.xls")

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(有点蓝)[align=right][color=#000066][此贴...  发帖心情 Post By:2016/10/23 23:05:00 [只看该作者]

提示打开存储文件失败错误?

图片点击可在新窗口打开查看此主题相关图片如下:11111.png
图片点击可在新窗口打开查看
用i来代表动态获取电子表表名么?这个i不一定是数字哦 !实际是文字,比如:收案信息.xls  被告人信息.xls  被害人信息.xls 犯罪前科.xls  提交材料.xls 其他材料.xls

[此贴子已经被作者于2016/10/23 23:08:19编辑过]

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/10/24 7:45:00 [只看该作者]

那就根据你的实际情况修改代码,人家给你的是思路。
要更准确的帮助,一开始就应该更准确第描述问题。

到目前为止,你的问题描述还是不准确!
这些文件从何而来?
是自己选择要合并的多个文件? 还是合并某个目录下的所有文件?

如果是前者,你可以自己做个openfiledialog, 选择要合并的文件:

Dim dlg As New OpenFileDialog
dlg.Filter=“excel文件|*.xls”
dlg.MultiSelect = True
If dlg.ShowDialog = DialogResult.OK Then
   Dim Book As New XLS.Book() '定义一个Excel工作簿
    For Each fl As String In dlg.FileNames
        Dim Book1 As New XLS.Book(fl) '       
        Dim Sheet As XLS.Sheet = Book1.Sheets(0)'引用工作簿的第一个工作表       
        book1.Sheets.Removeat(0)       
        sheet.name = filesys.getname(fl)
        book.Sheets.Add(sheet)
    Next
    book.save("c:\reports\工作簿.xls")
End If

如果是后者:


    Dim Book As New XLS.Book() '定义一个Excel工作簿
    For each fl as string in filesys.getfiles("目录名")
        Dim Book1 As New XLS.Book(fl) '
        Dim Sheet As XLS.Sheet = Book1.Sheets(0)'引用工作簿的第一个工作表
        book1.Sheets.Removeat(0)
        sheet.name = filesys.getname(fl)
        book.Sheets.Add(sheet)
    Next
    book.save("c:\reports\工作簿.xls")


你看看,上面的代码,那一项是你不会的,其实这些代码你都会,但你没有主动去思考、去尝试。
[此贴子已经被作者于2016/10/24 7:53:46编辑过]

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


加好友 发短信
等级:四尾狐 帖子:803 积分:10775 威望:0 精华:1 注册:2008/9/2 18:58:00
  发帖心情 Post By:2016/10/24 22:40:00 [只看该作者]

学了一招

 回到顶部