一、介绍
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数据,命令如下:
$BlogRankData
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模块的一些实际用法,大家有问题可以互相交流!