标题: [文本处理] 如何将EXCEL文档中的内容批量插入WORD文档中特定内容的后面 [打印本页]
作者: dragon631 时间: 2022-3-9 16:04 标题: 如何将EXCEL文档中的内容批量插入WORD文档中特定内容的后面
现在身处国外,负责回国人员的核酸检测报告发布(这也算在国外为国内抗疫事业做贡献了, )。但是有时候遇到包机时,一次要做几百份文件,逐一输入每个人的信息,操作比较费时,想来论坛请教一下有没有可以批量处理的办法?
EXCEL中有客户的姓名、性别、年龄等信息,需要为每一位客户建立一个以客户名字命名的WORD文档,并且要将EXCEL中的姓名、性别、年龄等信息输入到WORD文档中”姓名、性别、年龄“字样的后面。
寻求高人指教一下能够批量处理的方法,不甚感谢!
作者: idwma 时间: 2022-3-9 19:35
本帖最后由 idwma 于 2022-3-9 20:16 编辑
- #@&cls&powershell "type %~s0|out-string|iex"&pause&exit
- $f=gi '123.xlsx' #表格文件名
- $a=new-object -com excel.application
- $a.Application.DisplayAlerts=0
- $b=$a.workbooks.open("$f")
- $b.saveas("$f`.csv",6)
- $b.close()
- $a.quit()
- $a=Import-Csv "$f`.csv" -Header $((gc "$f`.csv")[0] -split ',')
- $b=New-Object -com word.application
- while($a[++$i] -ne $null){
- [void]$b.Documents.Add()
- $b.ActiveDocument.Content.InsertAfter("姓名:$($a[$i].姓名)`n")
- $b.ActiveDocument.Content.InsertAfter("性别:$($a[$i].性别)`n")
- $b.ActiveDocument.Content.InsertAfter("年龄:$($a[$i].年龄)`n")
- $b.Documents.Item(1).saveas("$pwd\$($a[$i].姓名).doc")
- $b.Documents.Item(1).close()
- }
- $b.quit()
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |