Excel数据怎样在Word中显示出来(送检单填写)
1、Excel文件数据,工程混凝土试块留置表,如下图。

2、Word文件,根据工程混凝土试块留置表,填写到Word文件《混凝土立方体试件抗压强度检测委托单》如下图。

3、Excel文件数据与Word文件对照关系如下图。

4、问题:怎样把Excel文件数据每一行自动引用到Word文件中并实现批量生成文件和批量打印?
5、解题思路:将上面Excel文件数据表做成一个包含表头其它信息的表bysk。然后通过公式转一行数据对应Word文件每个要填写数据表sksj。然后用邮件功能引用表sksj数据。
1、表bysk编制:如下图。


2、表bysk中工程名称对应编号和监督登记号,$B$1:$AE$3命名为GCMC。
6行单元格输入公式:
B6:=COUNTIF(INDIRECT("E6"):INDIRECT("E"&ROW()),INDIRECT("E"&ROW()))
C6:=CONCATENATE(HLOOKUP(INDIRECT("E"&ROW()),GCMC,2,FALSE),"-",INDIRECT("B"&ROW()))
D6:=IF(INDIRECT("H"&ROW())="","",INDIRECT("H"&ROW())+28)
其它行复制(或往下拉)

3、表sksj编制,根据《混凝土立方体试件抗压强度检测委托单》内容编制字段(1行中),如下图




4、表sksj中2行公式(引用表bysk)如下:
A2:=CONCATENATE("B",INDIRECT("bysk!A"&ROW()+4),"-",INDIRECT("bysk!C"&ROW()+4))
B2:=IF(INDIRECT("bysk!L"&ROW()+4)="",INDIRECT("bysk!L4"),INDIRECT("bysk!L"&ROW()+4))
C2:=INDIRECT("bysk!E"&ROW()+4)
D2:=IF(INDIRECT("bysk!K"&ROW()+4)="",INDIRECT("bysk!K4"),INDIRECT("bysk!K"&ROW()+4))
E2:=HLOOKUP(INDIRECT("C"&ROW()),GCMC,3,FALSE)
F2:=IF(INDIRECT("bysk!J"&ROW()+4)="",IF(INDIRECT("bysk!D"&ROW()+4)="","",TEXT(INDIRECT("bysk!D"&ROW()+4),"YYYY年M月D日")),TEXT(INDIRECT("bysk!J"&ROW()+4),"YYYY年M月D日"))
G2:=IF(INDIRECT("bysk!M"&ROW()+4)="",INDIRECT("bysk!M4"),INDIRECT("bysk!M"&ROW()+4))
H2:=IF(INDIRECT("bysk!N"&ROW()+4)="",INDIRECT("bysk!N4"),INDIRECT("bysk!N"&ROW()+4))
I2:=IF(INDIRECT("bysk!O"&ROW()+4)="",INDIRECT("bysk!O4"),INDIRECT("bysk!O"&ROW()+4))
J2:=IF(INDIRECT("bysk!P"&ROW()+4)="",IF(INDIRECT("bysk!P4")="","",INDIRECT("bysk!P4")),INDIRECT("bysk!P"&ROW()+4))
K2:=IF(INDIRECT("bysk!Q"&ROW()+4)="",INDIRECT("bysk!Q4"),INDIRECT("bysk!Q"&ROW()+4))
L2:=IF(INDIRECT("bysk!I"&ROW()+4)="",INDIRECT("bysk!I4"),INDIRECT("bysk!I"&ROW()+4))
M2:=IF($L2>=1,INDIRECT("bysk!F"&ROW()+4),"")
N2:=IF($L2>=2,INDIRECT("bysk!F"&ROW()+4),"")
O2:=IF($L2>=3,INDIRECT("bysk!F"&ROW()+4),"")
P2:=IF($L2>=4,INDIRECT("bysk!F"&ROW()+4),"")
Q2:=IF($L2>=5,INDIRECT("bysk!F"&ROW()+4),"")
R2:=IF($L2>=6,INDIRECT("bysk!F"&ROW()+4),"")
S2:=IF($L2>=7,INDIRECT("bysk!F"&ROW()+4),"")
T2:=IF($L2>=8,INDIRECT("bysk!F"&ROW()+4),"")
U2:=IF($L2>=9,INDIRECT("bysk!F"&ROW()+4),"")
V2:=IF($L2>=10,INDIRECT("bysk!F"&ROW()+4),"")
W2:=IF($L2>=1,INDIRECT("bysk!G"&ROW()+4),"")
X2:=IF($L2>=2,INDIRECT("bysk!G"&ROW()+4),"")
Y2:=IF($L2>=3,INDIRECT("bysk!G"&ROW()+4),"")
Z2:=IF($L2>=4,INDIRECT("bysk!G"&ROW()+4),"")
AA2:=IF($L2>=5,INDIRECT("bysk!G"&ROW()+4),"")
AB2:=IF($L2>=6,INDIRECT("bysk!G"&ROW()+4),"")
AC2:=IF($L2>=7,INDIRECT("bysk!G"&ROW()+4),"")
AD2:=IF($L2>=8,INDIRECT("bysk!G"&ROW()+4),"")
AE2:=IF($L2>=9,INDIRECT("bysk!G"&ROW()+4),"")
AF2:=IF($L2>=10,INDIRECT("bysk!G"&ROW()+4),"")
AG2:=IF($L2>=1,TEXT(INDIRECT("bysk!H"&ROW()+4),"YYYY-M-D"),"")
AH2:=IF($L2>=2,TEXT(INDIRECT("bysk!H"&ROW()+4),"YYYY-M-D"),"")
AI2:=IF($L2>=3,TEXT(INDIRECT("bysk!H"&ROW()+4),"YYYY-M-D"),"")
AJ2:=IF($L2>=4,TEXT(INDIRECT("bysk!H"&ROW()+4),"YYYY-M-D"),"")
AK2:=IF($L2>=5,TEXT(INDIRECT("bysk!H"&ROW()+4),"YYYY-M-D"),"")
AL2:=IF($L2>=6,TEXT(INDIRECT("bysk!H"&ROW()+4),"YYYY-M-D"),"")
AM2:=IF($L2>=7,TEXT(INDIRECT("bysk!H"&ROW()+4),"YYYY-M-D"),"")
AN2:=IF($L2>=8,TEXT(INDIRECT("bysk!H"&ROW()+4),"YYYY-M-D"),"")
AO2:=IF($L2>=9,TEXT(INDIRECT("bysk!H"&ROW()+4),"YYYY-M-D"),"")
AP2:=IF($L2>=10,TEXT(INDIRECT("bysk!H"&ROW()+4),"YYYY-M-D"),"")
AQ2:=IF(INDIRECT("bysk!R"&ROW()+4)="","",INDIRECT("bysk!R"&ROW()+4))
其它行复制(或往下拉)

5、下面操作是在Word中进行。打开Word《混凝土立方体试件抗压强度检测委托单》文件。

6、点菜单栏【邮件】,选择【开始邮件合并】,这里我们选择【信函】可别点错了哦!然后在【选择收件人】选择【使用现有列表】,插入《标养砼试块数据》Excel表格sksj数据源。


7、在表格中相应位置插入合并域。


8、复制粘贴委托单,生成“第二联 委托单位”

9、点【预览结果】显示数据、查看每条数据上面数字两边箭头。
【完成并合并】→【编辑单个文档】批量生成文件
【完成并合并】→【打印文档】批量打印文件

10、 点【预览结果】显示数据、查看每条数据上面数字两边箭头。

11、【完成并合并】→【编辑单个文档】批量生成文件信函(Excel表格sksj数据2至13行)

12、【完成并合并】→【打印文档】批量打印文件(Excel表格sksj数据2至13行)
