不用安装Excel使用PSExcel自动处理Excel文件
来源:互联网 发布:mac百度搜索推荐 编辑:程序博客网 时间:2024/05/17 00:12
PSExcel是一个为Powershell开发的软件包。使用这一软件包,可以在不安装Excel的情况下,自动处理Excel文件。
该软件包的下载可通过以下网页:https://github.com/RamblingCookieMonster/PSExcel
关于其使用方法和范例可以参看以下网页:http://ramblingcookiemonster.github.io/PSExcel-Intro/
鉴于PSExcel例子太少,本文给一些补充。
我手头上有两个CSV文件,spa_test.csv和spb_test.csv。先把他们import到两个变量$spa和$spb。
> $spb=import-csv spa_test.csv
>$spb
SPA DEF GHI JKL
--- --- --- ---
123 456 789 123
123 456 789 123
123 456 789 123
123 456 789 123
123 456 789 123
123 456 789 123
> $spb=import-csv spb_test.csv
> $spb
SPB DEF GHI JKL
--- --- --- ---
999 888 777 666
999 888 777 666
999 888 777 666
999 888 777 666
999 888 777 666
把$spa Export到Excel文件sp_test.xlsx中。
>del sp_test.xlsx
>$spa | export-xlsx -path .\sp_test.xlsx
确认sp_test.xlsx的内容。
>import-xlsx -path .\sp_test.xlsx
SPA DEF GHI JKL
--- --- --- ---
123 456 789 123
123 456 789 123
123 456 789 123
123 456 789 123
123 456 789 123
123 456 789 123
如果Excel文件太大,我们可以确认其中的某一部分。
> Get-CellValue -path .\sp_test.xlsx -worksheetName "worksheet1" -Coordinates a1:b3
SPA DEF
--- ---
123 456
123 456
再把$spb Export到Excel文件sp_test.xlsx中。
> $spb | export-xlsx -path .\sp_test.xlsx
Failed to initialize Excel, Workbook, or Worksheet. Try -ClearSheet switch if worksheet already exists:
......
出错了。为什么?因为把数据 Export到Excel文件sp_test.xlsx时,Sheet的名称缺省为"worksheet1"。第二次做同样的操作,Sheet已经存在,所以出错。
我们可以指定其他名称来Export数据到Excel文件。比如:
> $spb | export-xlsx -path .\sp_test.xlsx -worksheet "Worksheet2"
如果我们期望覆盖"worksheet1"上的数据,可以使用ReplaceSheet选项。
> $spb | export-xlsx -path .\sp_test.xlsx -worksheet "Worksheet1" -replaceSheet
> Get-CellValue -path .\sp_test.xlsx -worksheetName "worksheet1" -Coordinates a1:b3
SPB DEF
--- ---
999 888
999 888
注意:ReplaceSheet将把指定Sheet上的所有数据全部删除,然后写入新的数据。
修改某个Cell或某个范围的值。
> Set-CellValue -path .\sp_test.xlsx -worksheetName "worksheet1" -Coordinates f1:f1 -value "NEW"
> Get-CellValue -path .\sp_test.xlsx -worksheetName "worksheet1" -Coordinates f1:f1
NEW
---
NEW
另一种显示或修改Cell数据或属性的方法
> $Excel = new-Excel -Path .\SP_TEST.XLSX
> $S="Worksheet1"
显示Cell的数据。
> $excel.workbook.Worksheets[$s].Cells.Item("a3").value
123
> $excel.workbook.Worksheets[$s].Cells.Item("b3").value
456
修改Cell的数据。
> $excel.workbook.Worksheets["Worksheet1"].Cells.Item("b3").value =999
> $excel.workbook.Worksheets["Worksheet1"].Cells.Item("b3").value
999
修改Cell的算式。
> $excel.workbook.Worksheets["Worksheet1"].Cells.Item("e3").value> $excel.workbook.Worksheets["Worksheet1"].Cells.Item("e3").formula = "Max(a3:d3)"
> $excel.workbook.Worksheets["Worksheet1"].Cells.Item("e3").formula
Max(a3:d3)
> $excel.workbook.Worksheets["Worksheet1"].Cells.Item("e3").value
注意:算式修改是可以的,但是,直接询问该Cell的数值却没有结果。
不要担心,在Excel下打开文件,Cell(e3)的数值是正确的。
- 不用安装Excel使用PSExcel自动处理Excel文件
- 使用POI处理EXCEL文件
- 使用Python处理Excel文件
- 使用Excel宏实现数据自动处理
- 导出Excel--不用安装office
- 读取excel文件(使用perl处理)
- Python笔记:使用pywin32处理excel文件
- 使用CSV文件处理EXcel数据
- 使用VC++调用C#封装的DLL库实现Excel文件的操作(不用安装office软件环境)
- Perl 处理excel文件
- Perl处理Excel文件
- Excel文件处理总结
- Perl处理Excel文件
- Python处理Excel文件
- Python 处理excel文件
- java处理excel文件
- Java处理Excel文件
- python处理Excel文件
- I2c总线
- 对数据库索引的理解
- Golang 工程组织
- 运筹学基础---第一遍导图
- GDB程序调试从初级到高级(三)
- 不用安装Excel使用PSExcel自动处理Excel文件
- 安卓跳转时自定义标识it.setFlags()问题
- 大神js文件下载
- python学习之每日一题
- JS实现快速排序(QuickSort)
- 第2章 HTML5常用的元素与属性
- STL 之set容器
- 陌兮大魔王带你深入 学习ArrayList(一)
- Android7.0 启动Launcher流程