两个excel文件合并成一个excel文件里的多个sheet

我最近在做客户的一个要求要存储大量数据到excel其中包括标记颜色和带图片还必须用excel2007所以POI是唯一选项了我想来问的是如何把两个excel文件合并一个ex... 我最近在做客户的一个要求 要存储大量数据到excel 其中包括标记颜色和带图片 还必须用excel2007 所以POI 是唯一选项了 我想来问的是 如何把两个excel文件合并一个excel文件里的多个sheet?
求详细代码 谢谢 给个小例子就可以
(问题补充 jxl不可以用 因为他不支持excel2007
不能用二进制流直接写入 ,因为不知道如何判断标记颜色
不能用写成文本xml再转成excel格式 因为转成2007格式 excel打不开 而转成2003格式又掉进了行数限制。。
不能用csv 因为一样的 不能着色)
所以现在只求如何合并 求高手指点迷津
补充: 不可以用宏
展开
 我来答
园林植物手册
高粉答主

推荐于2019-11-07 · 关注我不会让你失望
知道答主
回答量:191
采纳率:100%
帮助的人:9.4万
展开全部

具体流程如下:

1、新建一个文件夹,将需要合并的excel文档复制到该文档目录下。

2、新建一个EXCEL空白文档,鼠标移动到在sheet工作表上单击右键,选择“查看代码”选项,进入VBA控制台。

3、在菜单栏点击“插入”菜单,选择“模块”选项,进入模块编辑界面。

4、在编辑框中复制以下代码,注意符号,需是英文状态下。


5、代码输入后,点击菜单项中“运行”,选择“运行子过程”选项,或者按下F5快捷键,运行代码。

6、运行代码后,会弹出文档选择界面,找到新建文件夹的路径,选择你所需要合并的文档,选择文档后,点击“打开”,代码正在运行,运行时间视文档数目而定。

7、代码段运行结束后,就会出现已经合并完成的excel文档界面,新工作表的名称等于原工作簿的名称,大功告成

拓展资料:

Microsoft Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为最流行的个人计算机数据处理软件。 

参考资料:百度百科-Microsoft Office Excel

泡影果果616
2015-07-22 · 知道合伙人软件行家
泡影果果616
知道合伙人软件行家
采纳数:2005 获赞数:71336
软件技术从上学的时候就在研究,虽没最强大脑那般无敌,但依靠后天的勤奋学习,相信可以很专业的帮助更多人

向TA提问 私信TA
展开全部

1、把两个excel表格放在同一个文件夹内。

2、用microsoft excel打开新建的excel表,并右键单击sheet1,找到“查看代码”,单击进去。进去之后就看到了宏计算界面。如图所示。

3、然后把下面这些宏计算的代码复制进去,然后找到工具栏上面的“运行”下的“运行子过程/用户窗体”,代码如下,如图所示:

Sub 合并当前目录下所有工作簿的全部工作表()

Dim MyPath, MyName, AWbName

Dim Wb As Workbook, WbN As String

Dim G As Long

Dim Num As Long

Dim BOX As String

Application.ScreenUpdating = False

MyPath = ActiveWorkbook.Path

MyName = Dir(MyPath & "\" & "*.xls")

AWbName = ActiveWorkbook.Name

Num = 0

Do While MyName <> ""

If MyName <> AWbName Then

Set Wb = Workbooks.Open(MyPath & "\" & MyName)

Num = Num + 1

With Workbooks(1).ActiveSheet

.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)

For G = 1 To Sheets.Count

Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)

Next

WbN = WbN & Chr(13) & Wb.Name

Wb.Close False

End With

End If

MyName = Dir

Loop

Range("B1").Select

Application.ScreenUpdating = True

MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"

End Sub

4、运行之后,等待10秒针左右,等运行完毕,就是合并完成之后,会有提示,点确定就可以了。即可看到两个excel表格分别为sheet1和sheet2。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pgqh
2011-04-01 · TA获得超过8718个赞
知道大有可为答主
回答量:3773
采纳率:33%
帮助的人:1527万
展开全部
新建一个工作表,命名后保存到和与合并的N个文件同一个文件文件夹,按 alt + f11,双击工程资源管理器里面的sheet1(sheet1),在右侧的代码区粘贴如下代码。运行。等候一会就OK了。

宏:多个文件表合到一个文件表的多个SHEET中
Sub CombineWorkbooks()
Dim FilesToOpen, ft
Dim x As Integer

Application.ScreenUpdating = False
On Error GoTo errhandler

FilesToOpen = Application.GetOpenFilename _
(FileFilter:="Micrsofe Excel文件(*.xls), *.xls", _
MultiSelect:=True, Title:="要合并的文件")

If TypeName(FilesToOpen) = "boolean" Then
MsgBox "没有选定文件"
'GoTo errhandler
End If
x = 1
While x <= UBound(FilesToOpen)
Set wk = Workbooks.Open(Filename:=FilesToOpen(x))
wk.Sheets().Move after:=ThisWorkbook.Sheets _
(ThisWorkbook.Sheets.Count)
x = x + 1
Wend

MsgBox "合并成功完成!"

errhandler:
'MsgBox Err.Description
'Resume errhandler
End Sub
追问
忘记补充了 不能用宏
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
寻找是一种幸福
2018-05-26 · TA获得超过260个赞
知道答主
回答量:18
采纳率:0%
帮助的人:3.5万
展开全部
1.首先开启需要处理的Excel文件,目标保存汇整文件和当前需要移转的文件. 本文以将test表中的new工作表迁移到barcode表中.
2.在将要转移的Excel文件名处点击鼠标右键.
3.选择“移动或复制”.
4.选择目标文件名称--->选择位置---->是否保留现有文件----->点击“确定”.
5.去目标文件查看移转结果,操作成功.
6.如果对表的排放位置不满意,可以直接拖动文件到指定的位置
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
30953787
2011-04-02
知道答主
回答量:15
采纳率:0%
帮助的人:0
展开全部
复制粘贴
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式