PowerShell实战(一)PowerShell使用ImportExcel模块轻松操作Excel

一、介绍
ImportExcel模块可以理解为基于PowerShell环境操作Excel的强大类库,使用它可以在 Windows、Linux 和 Mac 上都可以使用。创建表、数据透视表、汇总、图表等操作变得更加容易。另外比较好的一点是使用该模块允许用户无需安装微软的 Office 或者使用 COM 对象就能直接操作 Excel 文件,这样对于没有安装office的服务器也可以直接使用。
功能介绍
● Excel导入:通过 Import-Excel 命令,可以从 Excel 文件中导入数据到 PowerShell 中,转换成可以进一步处理的数据集(通常是以表格形式存在的 PSObject)。
● Excel导出:利用 Export-Excel 命令,可以直接将 PowerShell 表格格式的数据输出到一个新的或已存在的 Excel 文件中,并且支持添加样式、冻结窗格、设置列宽等高级特性。
● 支持给Excel添加图表:还可以在 Excel 工作表中创建图表,例如柱状图、折线图等。
● 数据透视表:能够生成数据透视表并将其写入 Excel 文件中。
● 合并单元格与公式:支持对单元格进行合并和插入 Excel 公式。
● 跨平台:ImportExcel 不依赖于 Microsoft Office,可以在 Windows、Linux 和 macOS 上运行 PowerShell 时直接使用该模块。
二、安装模块
https://www.powershellgallery.com/packages/ImportExcel/7.8.4

首先使用管理员运行Power Shell ISE 开发环境。
安装模块ImportExcel命令如下:
Install-Module -Name ImportExcel
注意事项:因为直接访问的是微软的网站,依赖包会比较慢,大概安装需要等几分钟。
三、操作示例
1、 导出excel
脚本文件如下:
# 定义博客排名数据
$BlogRankData = ConvertFrom-Csv @"
博客名称,排名,访问量
CSDN,1,90000000
博客园,2,86000000
51CTO,3,68000000
知乎,4,61000000
掘金,5,49000000
开源中国,6,46000000
简书,7,35000000
"@
# 导出为Excel文件 - Show 参数表示直接打开Excel文件
$BlogRankData | Export-Excel e:blogRankData.xlsx -Show
把文件保存为psl文件,然后点击运行按钮

输出结果

2、 读取Excel数据
直接用变量名可以输出Excel数据,命令如下:
3、导出包含图表的Excel
脚本内容如下:
需要对图标进行定义,然后导出的时候指定展示图表。
#定义数据
$BlogRankData = ConvertFrom-Csv @"
博客名称,排名,访问量
CSDN,1,120000000
博客园,2,86000000
51CTO,3,68000000
知乎,4,61000000
掘金,5,49000000
开源中国,6,46000000
简书,7,35000000
"@
# 图表定义
$chart = New-ExcelChartDefinition -XRange 博客名称 -YRange 访问量 -Title "博客访问量统计" -NoLegend
# 导出到Excel 包含图表
$BlogRankData | Export-Excel E:blogRankChatData.xlsx -AutoNameRange -ExcelChartDefinition $chart -Show

点击运行按钮,直接打开Excel如下

4、导出包含汇总列和图表的Excel
包含 汇总列的话需要增加汇总列表的参数,具体直接看下面的案例:
#定义数据
$BlogRankData = ConvertFrom-Csv @"
博客名称,排名,访问量
CSDN,1,120000000
博客园,2,86000000
51CTO,3,68000000
知乎,4,61000000
掘金,5,49000000
开源中国,6,46000000
简书,7,35000000
"@
# 导出为Excel文件
$BlogRankData | Export-Excel e:blogRankPivotChatData.xlsx -AutoNameRange -Show -PivotRows 博客名称 -PivotData @{'访问量'='sum'} -PivotChartType PieExploded3D
点击运行按钮

运行效果

四、 总结
以上是Powershell中ImportExcel模块的一些实际用法,大家有问题可以互相交流!
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~


羊毛笔记
校验提示文案
BigApple1978
校验提示文案
52ququ
校验提示文案
羊毛笔记
校验提示文案
BigApple1978
校验提示文案
52ququ
校验提示文案