标题: [文本处理] 如何使用脚本命令给xls这类表格文件添加数据? [打印本页]
作者: toyerspollors 时间: 2022-1-20 20:04 标题: 如何使用脚本命令给xls这类表格文件添加数据?
请教各位老师,如何使用脚本命令给xls这类表格文件添加数据?
比如目录下有好一堆xls文件,
我想批量处理表格,在表格的横列的G前面插入1列(最好可以自定义列数),然后再竖行6插入1行(最好可以自定义列数),
接着在单元格F5输入内容“批处理之家”,最好这个单元格能添加背景黄颜色,字体加粗,红颜色。
貌似要求有些多,不知道这样的要求能达到吗?
作者: idwma 时间: 2022-1-21 23:28
本帖最后由 idwma 于 2022-1-22 20:22 编辑
- #@&cls&powershell "type %~s0|out-string|iex"&pause&exit
- $r='a5'
- $c='f1'
- $d='f5'
- $t='abc'
- dir 123.xls|%{
- $a=(new-object -comobject excel.application).workbooks.open($_.fullname)
- $b=$a.sheets.item(1)
- $b.range($r).EntireRow.insert()
- $b.range($c).Entirecolumn.insert()
- $row=$b.range($d).row
- $column=$b.range($d).column
- $b.cells.item($row,$column)=$t
- $b.Range($d).interior.colorindex=6
- $b.Range($d).font.colorindex=3
- $b.Range($d).font.bold=$true
- $a.save()
- $a.close()
- }
复制代码
作者: toyerspollors 时间: 2022-1-22 20:22
idwma 发表于 2022-1-21 23:28
实在惭愧!看起来不是bat的命令,不知老师写出来的是什么脚本代码,我要如何使用?
作者: toyerspollors 时间: 2022-1-28 20:01
不知道问题是不是太刁难了,感觉自己问的问题比较偏门,好像这里没什么人需要处理xls文件的。
作者: flashercs 时间: 2022-1-29 00:21
回复 4# toyerspollors - <#*,:&cls
- @echo off
- cd /d "%~dp0"
- powershell -NoProfile -ExecutionPolicy RemoteSigned -Command ". ([ScriptBlock]::Create((Get-Content -LiteralPath \"%~0\" -ReadCount 0 | Out-String ))) "
- pause
- exit /b
- #>
- # 功能: 处理当前目录的xls文件
-
- $r = '6:6' # 要插入的行
- $c = 'G:G' # 要插入的列
- $d = 'F5' # 更改单元格
- $t = '批处理之家' # 更改的内容
-
- $xlShiftDown = -4121
- $xlShiftToRight = -4161
- $xlFormatFromLeftOrAbove = 0
- $xlFormatFromRightOrBelow = 1
-
- $excel = New-Object -ComObject excel.application
- $excel.Visible = $true #显示excel窗口
- $excel.DisplayAlerts = $false
- Get-ChildItem .\*.xls, .\*.xlsx | ForEach-Object {
- $workbook = $excel.workbooks.open($_.fullname)
- $worksheet = $workbook.sheets.item(1) # 操作第一表格 Sheet1
- $worksheet.range($c).insert($xlShiftToRight, $xlFormatFromLeftOrAbove) #插入列
- $worksheet.range($r).insert($xlShiftDown, $xlFormatFromLeftOrAbove) #插入行
- $range = $worksheet.Range($d)
- $range.Value() = $t #更改内容
- $range.interior.colorindex = 6 #单元格背景色
- $range.font.colorindex = 3 #单元格字体色
- $range.font.bold = $true #加粗
- [void]$workbook.save() #保存xls
- $workbook.close()
- }
- $excel.Quit()
复制代码
保存为 a.bat
作者: toyerspollors 时间: 2022-1-29 01:32
本帖最后由 toyerspollors 于 2022-1-29 01:36 编辑
原来2楼的也是批处理命令,我还以为是其他的东东,所以没测试,真知识真是没底了,好多东西都没接触过。
谢谢flashercs、idwma的帮助。
不知道老师写出来的这些命令有没有基础入门学习资料的链接啊?
如果在执行以上命令之前,我要先删除B列,2行,再删除G7单元格,不知道如何修改添加相关命令,望老师指教!
作者: 523066680 时间: 2022-1-29 09:08
Win32 OLE
作者: 523066680 时间: 2022-1-29 09:08
Win32 OLE
作者: flashercs 时间: 2022-1-29 09:57
回复 6# toyerspollors - $worksheet.Columns("B").Delete()
- $worksheet.Rows(2).Delete()
- $worksheet.Range("G7").ClearContents()
复制代码
去微软官方网站 学习vba
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |