经验直达:
- 如何将excel表格批量导入word表格
- 怎样将Excel表格批量导入word
- 如何将表格批量填充到word里面
一、如何将excel表格批量导入word表格
用vba编制程序来实现 。
第一步:创建一个对照表,将excel表格的开始行号、结束行号、开始列号、结束列号以及word文档中表格的序号、开始行号、开始列号输入到对照表 。
第二步:编制vba程序,读取对照表信息,根据对照表要求读取excel表格数据 , 写入到word的对应表格中 。
下面是我曾经做过的例子 , 截取部分对照表信息以及部分程序代码供参考 。
1、对照表截图
2、部分程序源码
Sub 导出数据()
S_EXCEL = Cells(4, 3).Text '数据源EXCEL文件名
T_WORD = Cells(7, 3).Text '目标WORD文档名
DZB = Cells(5, 3).Text '对照表工作表名
Call exc_to_word(S_EXCEL, T_WORD, DZB)
End Sub
Sub exc_to_word(S_EXCEL, T_WORD, DZB)
Dim wdoc As New Word.Application
Dim myPath As String
Dim XLAPP, MYS
Dim toolsB '工具工作簿
Dim I, J, K, L As Integer
Dim tableName As String
Dim exc_beginLine As Integer
Dim exc_endLine As Integer
Dim exc_beginColumn As Integer
Dim exc_endColumn As Integer
Dim wod_tableNumber As Integer
Dim wod_beginLine As Integer
Dim wod_beginColumn As Integer
Dim dataArr(1 To 500, 1 To 10)
Dim myDs '需要写入数据的WORD数据表
Dim XM(1 To 100)'存放表格的项目名称
'myPath = "G:EXCEL学习猪八戒任务EXCEL-TO-WORD20151214"
toolsB = ThisWorkbook.Name '保存当前工作簿名称
Windows(S_EXCEL).Activate
Set WB = ActiveWorkbook '数据源工作簿
Windows(toolsB).Activate
Set MYS = ActiveWorkbook.Sheets(DZB)
导出路径文件名 = ThisWorkbook.Path & "" & T_WORD & ".docx"
Set MYDOC = wdoc.Documents.Open(导出路径文件名)
wdoc.Visible = True
I = 2
Do While MYS.Cells(I, 1) > 0
tableName = MYS.Cells(I, 2)
exc_beginLine = MYS.Cells(I, 3)
exc_endLine = MYS.Cells(I, 9)
exc_beginColumn = MYS.Cells(I, 4)
exc_endColumn = MYS.Cells(I, 5)
wod_tableNumber = MYS.Cells(I, 6)
wod_beginLine = MYS.Cells(I, 7)
wod_beginColumn = MYS.Cells(I, 8)
WOD_FILENAME = MYS.Cells(I, 10)
If WOD_FILENAME = T_WORD Then
Set mYs2 = WB.Worksheets(tableName)
For J = 1 To exc_endLine - exc_beginLine1
XM(J) = mYs2.Cells(Jexc_beginLine - 1, 1)
For K = 1 To exc_endColumn - exc_beginColumn1
dataArr(J, K) = mYs2.Cells(Jexc_beginLine - 1, Kexc_beginColumn - 1)
Next K
Next J
Set myDs = MYDOC.Tables(wod_tableNumber)
L = myDs.Rows.Count '读取WORD表格行数
'If L - wod_beginLine1 < exc_endLine - exc_beginLine1 Then
'WORD表格插入行 , 使其同excel表格行数相同 一次插入多行没搞明白,故用此循环
Do While L - wod_beginLine1 < exc_endLine - exc_beginLine1
'Set myTable = ActiveDocument.Tables(1)
'Set newrow = myTable.Rows.Add(BeforeRow:=myTable.Rows(1))
'Set mylastrow = myDs.Rows.Last - 1 '从倒数第二行开始插入,以保持word格式的一致 走不通!
Set mylastrow = myDs.Rows.Last
myDs.Rows.Add mylastrow
L = myDs.Rows.Count '读取WORD表格行数
Loop
' myDs.Rows.Add (exc_endLine - exc_beginLine1) - (L - wod_beginLine1)
' myDs.Cell(Row:=L - wod_beginLine1, Column:=wod_beginColumn).Select
' Selection.InsertRowsBelow (exc_endLine - exc_beginLine1) - (L - wod_beginLine1)
For J = 1 To exc_endLine - exc_beginLine1
myDs.Cell(Row:=wod_beginLineJ - 1, Column:=1).Range = XM(J)
Next J
'End If
For J = 1 To exc_endLine - exc_beginLine1
For K = 1 To exc_endColumn - exc_beginColumn1
If Not IsError(dataArr(J, K)) Then
myDs.Cell(Row:=wod_beginLineJ - 1, Column:=wod_beginColumnK - 1).Range.Text = VBA.Format$(dataArr(J, K), "#,###.00")
End If
Next K
Next J
End If
I = I1
Loop
MYDOC.Save
MYDOC.Close False'关闭word文档
Set MYDOC = Nothing'清空工作簿项目
End Sub
二、怎样将Excel表格批量导入word
方法/步骤
1、打开文字文档以后,先做好表格,接着找到文档中工具栏的“工具”按钮 。
2、点击之后,就会弹出一个命令菜单,在其中找到“邮件合并工具栏”,点击“邮件合并工具栏”以后就会出现如下图2的一个工具栏了 。
3、在这个工具栏中找到如下图的图标 , 点击打开数据源 。
4、接着就会出现一个选择框,选择好需要导入的数据源excel文件,点击确定 。
5、接着鼠标如下图点击要导入数据文档表格中的单元格,让光标在这个单元格总闪动,然后点击第二幅图上的图标“插入合并域” 。
6、接着选择要输入的项目,点击确定,就能看到第二幅图中单元格里出现了《姓名》,出生日期和性别也可以用同样的方法输入 。
7、然后点击如下图”合并到新文档“,在合并到新文档设置中选择要导入的数据起始行和结束行,点击确定 。
三、如何将表格批量填充到word里面
在WORD文档里,将EXCEL内容自动填充到WORD里,只需要简单7个步骤就能实现,具体操作方法如下 。
工具/原料:机械革命S3 Pro、Windows10、Word 2021
步骤:
1、打开WORD文档,点击菜单栏上“邮件-选择联系人-使用现有列表” 。
2、弹出窗口 , 选择要导入的EXCEL表格 。
3、弹出窗口,点击工作表,单击确定 。
4、移动鼠标到WORD表格里相应位置 , 点击菜单栏上“合并域”,下拉选择表格里的数据 。
【怎样将Excel表格批量导入word 如何将excel表格批量导入word表格】5、点击菜单栏上“完成并合并” 。
6、弹出窗口,点击“全部” 。
7、EXCEL表格内容批量填充到WORD文档里 。